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

Trier par plusieurs champs ensemble dans mongodb

Vous pouvez utiliser le pipeline d'agrégation pour créer une fusion conditionnelle des deux champs avec $project et $ifNull .

db.stuff.aggregate([
  { $project:
    { createdOrUpdatedAt: { $ifNull: ["$updatedAt", "$createdAt"] },
      fieldA: 1,
      fieldB: 1,
      fieldEtc: 1 }
  },
  { $sort: { createdOrUpdatedAt: -1 } }
]);