Diciamo che ho una collezione in mongodb i cui oggetti hanno una matrice nidificata. Voglio ordinare in base al valore di un particolare elemento dell'array. È possibile?Posso ordinare da un elemento all'interno di un array nidificato in Mongo?
Ad esempio (e ho appena fatto l'esempio), se ho una collezione di tipi di film (azione, commedia, romanticismo) ed esempi presentati dagli utenti, posso trovare tutti gli oggetti in cui un dato utente inviato ordinati dal data del film?
Ad esempio, vorrei trovare tutti i tipi in cui "Aaron" ha inviato un esempio, ordinato per anno di esempio "Aaron" inviato.
È quasi un bisogno in cui clausola nel tipo.
> db.movies.find(). Pretty();
{
"_id" : ObjectId("4f2f07c1ec2cb81a269362c6"),
"type" : "action",
"examples" : [
{
"title" : "Gladiator",
"year" : 2000,
"submitter" : "Aaron"
},
{
"title" : "Mission Impossiple",
"year" : 1996,
"submitter" : "Bill"
},
{
"title" : "The Terminator",
"year" : 1984,
"submitter" : "Jane"
}
]
}
{
"_id" : ObjectId("4f2f07edaee5d897ea09f511"),
"type" : "comedy",
"examples" : [
{
"title" : "The Hangover",
"year" : 2009,
"submitter" : "Aaron"
},
{
"title" : "Dogma",
"year" : 1999,
"submitter" : "Bill"
},
{
"tile" : "Airplane",
"year" : 1980,
"submitter" : "Jane"
}
]
}
> db.movies.find ({ 'examples.submitter': 'Aaron'}) sorta.. ({ 'Examples.year': 1}) piuttosto();
{
"_id" : ObjectId("4f2f07edaee5d897ea09f511"),
"type" : "comedy",
"examples" : [
{
"title" : "The Hangover",
"year" : 2009,
"submitter" : "Aaron"
},
{
"title" : "Dogma",
"year" : 1999,
"submitter" : "Bill"
},
{
"tile" : "Airplane",
"year" : 1980,
"submitter" : "Jane"
}
]
}
{
"_id" : ObjectId("4f2f07c1ec2cb81a269362c6"),
"type" : "action",
"examples" : [
{
"title" : "Gladiator",
"year" : 2000,
"submitter" : "Aaron"
},
{
"title" : "Mission Impossiple",
"year" : 1996,
"submitter" : "Bill"
},
{
"title" : "The Terminator",
"year" : 1984,
"submitter" : "Jane"
}
]
}
Nota i documenti vengono restituiti ordinati per l'anno collezioni (come previsto) - un modo per ordinare solo quelle presentate da un determinato utente? per qualche dettaglio in più sto usando il driver mongo del nodo nativo per nodejs.
Non pensavo che sarei stato in grado di farlo ma ho pensato che valeva la pena sparare. Sono contento di averlo presentato in quanto il framework di aggregazione di cui parli mi sembra possa farmi arrivare una volta pronto/stabile. Grazie! – Zugwalt