Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用集合中的值进行mongo db聚合匹配_Mongodb_Nosql_Match_Aggregate - Fatal编程技术网

Mongodb 使用集合中的值进行mongo db聚合匹配

Mongodb 使用集合中的值进行mongo db聚合匹配,mongodb,nosql,match,aggregate,Mongodb,Nosql,Match,Aggregate,如何将MongoDB中的一个字段与同一集合中另一个字段的值进行匹配 例如,从集合测试中:(不是完全相同的集合,但它满足需要) 测试: 我需要获取“a”的值与“d”的值匹配的文档。 我试过: 但是没有希望 db.collection.aggregate([ { $match: { $expr: { $eq: [ "$a", "$d" ] } }

如何将MongoDB中的一个字段与同一集合中另一个字段的值进行匹配

例如,从集合测试中:(不是完全相同的集合,但它满足需要)

测试:

我需要获取“a”的值与“d”的值匹配的文档。 我试过:

但是没有希望

db.collection.aggregate([
  {
    $match: {
      $expr: {
        $eq: [
          "$a",
          "$d"
        ]
      }
    }
  }
])

工作

您需要使用
$expr
(和聚合运算符)来匹配文档中的两个字段。与
expr
一起使用时,您甚至可以在
查找
方法中使用匹配(而不是聚合匹配)。
db.test.aggregate([
    {$match:{a:'$d'}}
])
db.collection.aggregate([
  {
    $match: {
      $expr: {
        $eq: [
          "$a",
          "$d"
        ]
      }
    }
  }
])