【问题标题】:How to compare two fields from different MongoDB Collections如何比较来自不同 MongoDB 集合的两个字段
【发布时间】:2014-11-15 01:49:29
【问题描述】:

我正在尝试编写一个查询来比较两个不同 MongoDB 集合(相同 DB)中的字段。具体来说,我有两个集合,每个集合都包含一个匹配部分时间的字段。因此,我想遍历每个集合的每一行进行比较。找到匹配项后,我希望能够执行后续操作(将第三个字段的值插入其中一个集合中)。对此比较查询的语法建议将非常有帮助。

谢谢。

【问题讨论】:

    标签: mongodb-query


    【解决方案1】:

    您可以使用 $where。请注意它会相当慢(必须 在每条记录上执行 Javascript 代码)所以结合索引 可以查询。

    db.T.find( { $where: function() { return this.Grade1 > this.Grade2 } } );
    

    或更紧凑:

    db.T.find( { $where : "this.Grade1 > this.Grade2" } );
    

    【讨论】:

    • 这仍然会比较同一个集合的数据。
    • 是的,这是一个糟糕的答案。如何为每个集合制作循环?
    猜你喜欢
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多