为了账号安全,请及时绑定邮箱和手机立即绑定

比较两个字段的MongoDB查询条件

比较两个字段的MongoDB查询条件

繁星coding 2019-06-15 13:44:05
比较两个字段的MongoDB查询条件我有收藏T,有两个字段:Grade1和Grade2,我想选择那些有条件的Grade1 > Grade2,如何获得类似MySQL的查询?Select * from T Where Grade1 > Grade2
查看完整描述

3 回答

?
蛊毒传说

TA贡献1895条经验 获得超3个赞

你可以用$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+

你可以用$expr如上文所述最近的回答


查看完整回答
反对 回复 2019-06-15
?
HUX布斯

TA贡献1876条经验 获得超6个赞

你可以用$费用(3.6 mongo版本操作符)在常规查询中使用聚合函数。

比较query operatorsVSaggregation comparison operators.

常规查询:

db.T.find({$expr:{$gt:["$Grade1", "$Grade2"]}})

聚合查询:

db.T.aggregate({$match:{$expr:{$gt:["$Grade1", "$Grade2"]}}})


查看完整回答
反对 回复 2019-06-15
  • 3 回答
  • 0 关注
  • 4364 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信