Powiedzmy, że mam kolekcję w mongodb, której obiekty mają zagnieżdżoną tablicę. Chcę sortować na podstawie wartości określonego elementu tablicy. czy to możliwe?Czy mogę sortować według elementu w zagnieżdżonej tablicy w Mongo?
Na przykład (i właśnie podałem przykład), jeśli mam kolekcję typów filmów (akcja, komedia, romans) i przykłady przesłane przez użytkowników, mogę znaleźć wszystkie obiekty, w których dany użytkownik został posortowany posortowany według data filmu?
Na przykład chciałbym znaleźć wszystkie typy, w których "Aaron" przedstawił przykład, posortowany według roku podanego przykładu "Aaron".
To prawie jak potrzeba, gdzie klauzula w tym rodzaju.
> 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'}) sort.. ({ 'Examples.year': 1}) ładna();
{
"_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"
}
]
}
Uwaga dokumenty zwracane są klasyfikowane według roku zbiorów (zgodnie z oczekiwaniami) - dowolny sposób sortować według tylko te złożone przez danego użytkownika? dla niektórych dodatkowych szczegółów używam ngo-macierzystego sterownika dla nodejów.
Nie sądziłem, że będę w stanie to zrobić, ale uznałem, że warto było spróbować. Cieszę się, że podniosłem to, o czym wspominasz w Aggregation Framework, o którym wspomniałeś, że uda mi się tam dotrzeć, gdy będę gotowy/stabilny. Dzięki! – Zugwalt