我有一个T集合,其中有2个字段:Grade1Grade2,我想选择条件为Grade1 > Grade2的集合,如何获得类似于MySQL的查询?

Select * from T Where Grade1 > Grade2

最佳答案

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

db.T.find( { $where: function() { return this.Grade1 > this.Grade2 } } );
或更紧凑:
db.T.find( { $where : "this.Grade1 > this.Grade2" } );
适用于mongodb的UPD v.3.6 +
您可以按照recent answer中所述使用$expr

关于mongodb - 比较2个字段的MongoDb查询条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4442453/

10-09 20:22