如何在MongoDB中合并两个文档

时间:2017-04-14 05:38:24

标签: mongodb merge

我在一个集合中有两个文档。

{id: 1, list_data: [1, 2, 4, 5]}
{id: 1, list_data: [2, 5, 8, 9]}

我希望将这些数据合并到一个文档中。

{id: 1, list_data: [1, 2, 4, 5, 8, 9]}

我该怎么做这份工作? 请帮我。 感谢。

1 个答案:

答案 0 :(得分:2)

根据MongoDB文档

  

聚合操作将多个文档中的值组合在一起,   并且可以对分组数据执行各种操作以返回   一个结果。

请参考下面提到的聚合查询。

db.collection.aggregate(

    // Pipeline
    [
        // Stage 1
        {
            $unwind: {
                path:'$list_data'
            }
        },

        // Stage 2
        {
            $group: {
              _id:{id:'$id'},
              list_data:{$addToSet:'$list_data'}
            }
        },

        // Stage 3
        {
            $project: {
                '_id.id':1,
                "list_data":1
            }
        },

    ]



);

在上面的查询文档中,通过聚合管道的多个阶段进行处理