比较MongoDB中的多个属性

时间:2015-02-13 18:17:18

标签: mongodb

是否可以在MongoDB文档中的两个属性之间进行比较(例如,大于“>”)?

例如,如果我有一份文件:

{
   "t" : [100, 200]
}

是否有可能做这样的事情来查找“t”中第一项低于“t”中第二项的文件?

db.item.find( {"t.0": {$lte: "t.1"} } );

我意识到我可以先查询所有相关文档,然后在我的应用程序中进行过滤,但想知道MongoDB中是否有本地方式来执行此操作。

感谢您的帮助, 约什

2 个答案:

答案 0 :(得分:2)

你无法在任何查找操作中执行此操作。但你可以使用javascript:

db.item.find({ $where : "this.t[0] > this.t[1]" });

答案 1 :(得分:0)

虽然它不是完全重复,但我认为Mongodb find comparing array elements的已接受答案的第一部分可能会解决您的问题。