[英]In MongoDB, how do you retrieve a set of results where Field X is greater than Field Y by Value N?
我正在尝试在本地 MongoDB 中查询字段 X 大于字段 Y 的值 N(在本例中,值 N = 0.25)的文档。
我目前有:
db.getCollection('collection1').find({ $expr: { $gt: [ "$field1" , "$field2" ] }}).sort({"dateAdded" : -1})
但这只会返回 field1 大于 field2 的结果。 我需要 field1 比 field2 大 0.25。
我在任何地方的文档中都找不到这个,我确定我错过了一些简单的东西......
谢谢你的帮助。
创建一个表达式,首先计算差异,然后您可以进行大于比较。
以这个查询为例,它使用$subtract
运算符来获取差异:
db.getCollection('collection1').find(
{ "$expr": {
"$gt": [
{ "$subtract": ["$field1", "$field2"] },
0.25
]
}}
).sort({"dateAdded" : -1})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.