12
einer Datenbank der Form vonNested Gruppierung mit MongoDB
[
{ gender: "m", age: 1, name: "A" },
{ gender: "f", age: 2, name: "B" },
{ gender: "m", age: 3, name: "C" },
{ gender: "f", age: 1, name: "D" },
{ gender: "m", age: 2, name: "E" },
{ gender: "f", age: 3, name: "F" },
{ gender: "m", age: 1, name: "G" },
{ gender: "f", age: 2, name: "H" },
{ gender: "m", age: 3, name: "I" },
{ gender: "f", age: 1, name: "J" }
]
ich erster Gruppe will nach Alter und zweitens Gruppe nach Geschlecht gegeben, so dass ich eine verschachtelte Folge suche so etwas wie
[{
_id: "1",
children: [
{ _id: "f" },
{ _id: "m" }
]
}, {
_id: "2",
children: [
{ _id: "f" },
{ _id: "m" }
]
}, {
_id: "3",
children: [
{ _id: "f" },
{ _id: "m" }
]
}]
Hier erhalten ist das, was ich bisher versucht:
db.example.aggregate(
{ $group: { _id: "$age", children: { $addToSet: {
age: "$age", gender: "$gender", name: "$name"
}}}},
{ $group: { _id: "$children.gender"}}
)
Aber das gibt ein {_id: null}
als Ergebnis. Ist das möglich und falls ja, wie?
Ich war auf der Suche nach diesem, wie ich die ganze Zeit versäumt zu versuchen, neu zu erstellen, aber eine weitere Frage, wie ich das Geschlecht zählen? Wie oft erscheint ein Geschlecht für jedes Alter? – RaduM