MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête Mongoose pour trier le document principal et le sous-document par champ particulier

Actuellement, le tri n'est pas possible directement à l'intérieur des objets de tableau,

Vous pouvez faire soit 2 options,

  • si vous obtenez des données à partir de la recherche, utilisez recherche avec pipeline cela permettra d'utiliser $sort pipeline dans les documents de correspondance
  • $déroulez le tableau => $triez-le => à nouveau $regroupez-le dans le tableau, Refer SO Répondre

ici vous utilisez $lookup , au lieu d'une simple recherche, vous pouvez utiliser "$lookup with pipeline".

  {
    $lookup: {
      from: "tags",
      as: "tags",
      let: { id: "$_id" },
      pipeline: [
        {
          $match: {
            $expr: { $eq: ["$$id", "$tag_type"] }
          }
        },
        {
          $sort: { order: -1 }
        }
      ]
    }
  },

Aire de jeux

Deuxième solution possible :Playground