Momentan ist eine Sortierung nicht direkt innerhalb von Array-Objekten möglich,
Sie haben zwei Möglichkeiten,
- Wenn Sie Daten aus der Suche erhalten, verwenden Sie Suche mit Pipeline
es erlaubt die Verwendung von
$sort
Pipeline innerhalb von Match-Dokumenten - $entfernen Sie das Array => $sortieren Sie es => $gruppieren Sie es erneut in einem Array, Siehe SO Antwort
hier verwenden Sie $lookup
, anstelle der einfachen Suche können Sie "$lookup with pipeline" verwenden.
{
$lookup: {
from: "tags",
as: "tags",
let: { id: "$_id" },
pipeline: [
{
$match: {
$expr: { $eq: ["$$id", "$tag_type"] }
}
},
{
$sort: { order: -1 }
}
]
}
},
Zweite mögliche Lösung:Spielplatz