Ich beginne MongoDB zu lernen, und ich arbeite mit Dokumenten wie folgt aus:Wie gruppiere ich das erste Element eines Arrays mit MongoDB?
{
"_id" : ObjectId("562fac8a4f9ecec40f5b8ff9"),
"foo" : {
"objectid" : "39",
"stuff" : "65"
},
"yearpublished" : [
"1979"
],
"bar": "1263"
}
yearpublished ein Array ist, und ich würde dann die Menge von Dokumenten zählen in diesem Array durch den ersten Wert zu einer Gruppe meiner Sammlung gerne verwandten .
Ich habe bereits diese Anfrage:
db.foobar.aggregate(
[
{
$group : {
_id : '$yearpublished',
count: { $sum: 1 }
}
}
]
)
und erhalten:
{
"result" : [
{
"_id" : [
"1923"
],
"count" : 1.0000000000000000
},
{
"_id" : [
"1864"
],
"count" : 1.0000000000000000
}
}
Aber ich bin auf der Suche für diese Art von Ergebnis (dh das erste Element nur):
{
"result" : [
{
"_id" : "1923,
"count" : 1.0000000000000000
},
{
"_id" : "1864",
"count" : 1.0000000000000000
}
}
Ich versuchte _id : { $first: '$yearpublished.0' },
oder _id : { $first: '$yearpublished[0]' },
ohne Erfolg.
Kennen Sie kann ich Gruppe durch das erste Element des Arrays yearpublished?
Vielen Dank für diese vollständige Antwort. – Alex