Ho cercato per un po 'di tempo e non riesco a ordinare un array interno e mantenerlo nel documento con cui sto attualmente lavorando.Mongodb ordinamento matrice interna
{
"service": {
"apps": {
"updates": [
{
"n" : 1
"date": ISODate("2012-03-10T16:15:00Z")
},
{
"n" : 2
"date": ISODate("2012-01-10T16:15:00Z")
},
{
"n" : 5
"date": ISODate("2012-07-10T16:15:00Z")
}
]
}
}
}
Quindi voglio mantenere l'articolo da restituire come servizio, ma ho ordinato il mio array di aggiornamenti. Finora con la shell che ho:
db.servers.aggregate(
{$unwind:'$service'},
{$project:{'service.apps':1}},
{$unwind:'$service.apps'},
{$project: {'service.apps.updates':1}},
{$sort:{'service.apps.updates.date':1}});
Qualcuno pensa di poter essere d'aiuto?
Fantastico! Sono abbastanza nuovo nell'aggregazione e ho avuto la sensazione che potesse fare qualcosa del genere. –
e se le app avessero un campo come "nome" e volevo mantenere il nome anche nel set di risultati? –
@ user1251624 Dovresti includere quel campo nel '$ gruppo' (nel' _id' o come campo separato) e '$ progetto'. Se hai bisogno di ulteriore aiuto su questo è probabilmente meglio chiederlo come una domanda separata in quanto può essere non banale. – JohnnyHK