相关疑难解决方法(0)

如何在组内推送多列的值

看来我的查询不会像我期望的那样

我想分组name并将location1和location2映射到一个名为的数组中locations

数据

{name: "Jack", localtion1: "Taiwan", localtion2: "France"},
{name: "Jack", localtion1: "Japan", localtion2: "Taiwan"},
{name: "Mary", localtion1: "China", localtion2: "Taiwan"}
Run Code Online (Sandbox Code Playgroud)

预期结果

{
    name: "Jack",
    localtions: ["Taiwan", "France", "Japan"]
},
{name: "Mary", localtions: ["China", "Taiwan"]}
Run Code Online (Sandbox Code Playgroud)

询问

db.collection.aggregate([
    {
        $group: {
            _id: "$name",
            "localtions":{
                $addToSet: "$localtion1"
            },
            "localtions":{
                $addToSet: "$localtion2"
            }            
            count: { $sum: 1 }
        }
    },
    {
        $project: {
            name: "$_id",
            localtions: "$localtions",
            _id: 0
        }
    },    
])
Run Code Online (Sandbox Code Playgroud)

mongodb aggregation-framework

5
推荐指数
1
解决办法
3926
查看次数

标签 统计

aggregation-framework ×1

mongodb ×1