sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose-fråga för att sortera huvuddokument och underdokument efter särskilt fält

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 }
        }
      ]
    }
  },

Lekplats

Andra möjliga lösningen:Lekplats




  1. Mongoose-baserad app-arkitektur

  2. Hur man projicerar/filtrerar inbäddade nycklar med att tillämpa regex på nyckel

  3. MongoDB bästa praxis för att räkna relaterade dokument

  4. Finns det ett databasagnostiskt nosql-ramverk för .NET?