在MongoDB中合并同一集合中的两个文档

问题描述

我一直在尝试合并集合中的一些重复文档,这些文档称为“城市”。

请考虑以下内容

{
    "_id": 1,"Name": "Santa Monica","State": "California"
},{
    "_id": {"$oid":"5ec5fcc993ce00388429278a"},"State": "California","TimeZone": "UTC−8","Population": 90401,"State": "California"
}

第二项确实有更多信息,例如时区和人口。 我只想在一个对象中合并这两个对象,像这样保留第一个_id

{
    "_id": 1
    "Name": "Santa Monica","State": "California"
}

我知道我必须使用聚合,但不知道如何使用。该文档缺少在同一集合中如何执行此操作的清晰示例。

谢谢。

解决方法

您需要按.push()let arr = [true,true,false,true]; let newArr = []; for (let i = 0; i < arr.length; i++) { if (arr[i]) { // roughly the same as if(arr[i] == true) newArr.push(i); } } console.log(newArr);字段对文档进行分组并将其合并。

尝试这个:

Name

MongoPlayground

注意: State允许翻转分组数组