繁体   English   中英

在 MongoDB 中,如何检索字段 X 大于字段 Y 的值 N 的一组结果?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM