如何在MongoDB中比较同一文档中的两个字段是否相等

本文关键字:两个 字段 是否 MongoDB 比较 文档 | 更新日期: 2023-09-27 18:28:07

我有一个MongoDB文档集合,其中包含以下"架构":

{
  field1: value1,
  field2: value2
}

我想在管道中运行一个带有"$match"的查询,以检查field1和field2值的相等性。

类似于"field1"=="field2"。

我该怎么做?

谢谢大家!

如何在MongoDB中比较同一文档中的两个字段是否相等

db.c.aggregate([{
    $project : {
        equal : {
            $eq : ["$field1", "$field2"]  // to judge like your :  "valueof(field1) == valueof(field2)"
        },
        doc : "$$ROOT"   // store the whole document, this is optional
    }
}, {
    $match : {
        equal : true   // filter to get documents only satisfy : "valueof(field1) == valueof(field2)"
    }
}]);

您需要执行以下操作:

db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])