我有一个集合T
,其中包含2个字段:Grade1
和Grade2
,并且我想选择条件为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