2014-11-15 29 views
0

我想写一个查询来比较两个不同的MongoDB集合(同一个数据库)中的字段。具体来说,我有两个集合,每个集合都包含一个匹配部分时间的字段。因此,我想要遍历每个集合的每一行进行比较。当找到匹配项时,我希望能够执行后续操作(将第三个字段的值插入到其中一个集合中)。此比较查询的语法建议将非常有用。如何比较来自不同的MongoDB集合的两个字段

谢谢。

回答

0

您可以使用$ where。只要知道它会相当缓慢(必须在每个记录上执行Javascript代码),因此如果可以,请与索引 查询结合使用。

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

或更紧凑:

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

这仍然会比较同一收集的数据。 –

+0

是的,这是一个不好的答案。如何为每个集合制作循环? – Pille

相关问题