MongoDB-如何查询和汇总嵌套文档的值

时间:2019-11-06 16:10:45

标签: json mongodb

我在mongoDB集合中有以下 3 个Json文档:

  {
   'title': 'Best',
   'array'  : [
       {'name' :  '1',
        'value':  '2'
       },
       {'name' :  '3',
        'value':  '4'
       }


      ]

}

和:

   {
   'title': 'Best',
   'array'  : [
       {'name' :  '5',
        'value':  '6'
       },
       {'name' :  '7',
        'value':  '8'
       }
    ]
}

和:

  {
   'title': 'Worst',
   'array'  : [
       {'name' :  'Not_needed',
        'value':  'Not_needed'
       },
       {'name' :  'Not_needed',
        'value':  'Not_needed'
       }
    ]
}

我需要一个查询给我:

{[
       {'name' :  '1',
        'value':  '2'
       },
       {'name' :  '3',
        'value':  '4'
       },
       {'name' :  '5',
        'value':  '6'
       },
       {'name' :  '7',
        'value':  '8'
       }
 ]}

我该怎么做?这就是人们所说的聚合吗?您能为我提供一个mongoDB查询吗?

1 个答案:

答案 0 :(得分:0)

这是使用聚合框架的查询,几乎可以生成所需的文档。

db.test.aggregate([ 
{ "$unwind": "$array" },
{ "$group": 
    { 
      "_id": "$title", 
      "array": {"$push": "$array"} 
    }
}, 
{ "$project": 
    { 
      "array": 1, 
      "_id": 0 
    } 
}
])