看来我的查询不会像我期望的那样
我想分组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)