私はデータベース構造を持っていると仮定します。グループはmongodbのフィールドに基づいています
[
{name: "alex" , surname: "brown" , school: "washington"},
{name: "felix" , surname: "yellow" , school: "georgia"},
{name: "felix" , surname: "yellow" , school: "georgia"},
{name: "tommy" , surname: "brown" , school: "davis"},
{name: "tommy" , surname: "brown" , school: "davis"},
{name: "tommy" , surname: "brown" , school: "davis"},
{name: "tommy" , surname: "brown" , school: "davis"}
]
私がしたいことは、学校情報でグループ化することです。 その結果は期待通りです。
{
school: davis
students: [
{name: "tommy" , surname: "brown"},
{name: "tommy" , surname: "brown"},
{name: "tommy" , surname: "brown"},
{name: "tommy" , surname: "brown"},
]
},
{
school: georgia
students: [
{name: "felix" , surname: "yellow"}
]
},
{
school: washington
students: [
{name: "alex" , surname: "brown"}
]
}
私のように$group
を使用して考え、このことができるようにします。
db.collection.aggregate([
{$group: {"_id" : "$school", name : "$name" , surname: "$surname"}}
])
しかし、私が思うに、私は$group
を誤解。だから私はどのようにこのクエリを書くことができますか?
[ '$のpush']を見(https://docs.mongodb.com/manual/reference/operator/aggregation/push /) –
私はドキュメントを使用してそれを達成していただきありがとうございます。 https://docs.mongodb.com/manual/reference/operator/aggregation/push/ – mmu36478