För närvarande är sortering inte möjligt direkt inuti arrayobjekt,
Du kan välja mellan två alternativ,
- om du får data från uppslag, använd uppslag med pipeline
det kommer att tillåta att använda
$sort
pipeline i matchningsdokument - $vinda av arrayen => $sortera den => igen $gruppera den i array, Referera SO Svar
här använder du $lookup
, istället för enkel uppslagning kan du använda "$lookup med pipeline".
{
$lookup: {
from: "tags",
as: "tags",
let: { id: "$_id" },
pipeline: [
{
$match: {
$expr: { $eq: ["$$id", "$tag_type"] }
}
},
{
$sort: { order: -1 }
}
]
}
},
Andra möjliga lösningen:Lekplats