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



我正在尝试查询我的本地MongoDB以获取字段X大于字段Y的值N的文档(在本例中为值N = 0.25)。

我目前有:

db.getCollection('collection1').find({ $expr: { $gt: [ "$field1" , "$field2" ] }}).sort({"dateAdded" : -1})

但这只返回字段 1 大于字段 2 的结果。我需要字段 1 大于字段 2 0.25。

我在任何地方的文档中都找不到这个,我确定我错过了一些简单的东西......

感谢您的帮助。

创建一个表达式,该表达式首先计算差值,然后可以执行大于比较。

以这个查询为例,它使用 $subtract 运算符来获取差异:

db.getCollection('collection1').find(
    { "$expr": { 
        "$gt": [ 
            { "$subtract": ["$field1", "$field2"] },
            0.25
        ] 
    }}
).sort({"dateAdded" : -1})

最新更新