我有一个集合T
,有两个字段:Grade1
和Grade2
,我想 Select 那些有条件Grade1 > Grade2
的字段,我怎样才能得到类似MySQL的查询?
Select * from T Where Grade1 > Grade2
我有一个集合T
,有两个字段:Grade1
和Grade2
,我想 Select 那些有条件Grade1 > Grade2
的字段,我怎样才能得到类似MySQL的查询?
Select * from T Where Grade1 > Grade2
你可以在哪里用美元.请注意,它会相当慢(必须在每条记录上执行Javascript代码),所以如果可以的话,请结合索引查询.
db.T.find( { $where: function() { return this.Grade1 > this.Grade2 } } );
或者更紧凑:
db.T.find( { $where : "this.Grade1 > this.Grade2" } );
可以使用recent answer中描述的$expr