如何在Mongodb聚合中将一个字段与另一个字段进行比较



我有很多级别的管道,现在我想比较两个字段,如下所示:

db.collection.aggregate({ ...},
{$match:{firstfield:{$gte:"$secondfield"}}})

如何编写此查询?

关闭,但实际调用略有不同:

db.collection.aggregate([
    { "$project": {
        "firstfield": 1,
        "secondfield": 1,
        "difference": { "$gte": [ "$firstfield", "$secondfield" ] }
    }},
    { "$match": { "difference": true } }
])

因此,与$match调用有点不同,$project(或可能$group)形式允许在字段比较中返回true|false值。

这允许您稍后在管道中使用$match阶段进行筛选,以便根据投影的逻辑条件"包括|排除"结果。

相关内容

  • 没有找到相关文章

最新更新