MongoDB : Comment trier les documents par date
Vous pouvez utiliser les méthodes suivantes pour trier les documents par champ de date dans MongoDB :
Méthode 1 : Trier par date croissante
db.sales.find().sort({"date_field": 1})
Méthode 2 : Trier par date décroissante
db.sales.find().sort({"date_field": -1})
Les exemples suivants montrent comment utiliser chaque méthode avec une vente de collection avec les documents suivants :
db.sales.insertOne({day: new Date("2020-01-20"), amount: 40}) db.sales.insertOne({day: new Date("2020-01-21"), amount: 32}) db.sales.insertOne({day: new Date("2020-01-22"), amount: 19}) db.sales.insertOne({day: new Date("2020-01-23"), amount: 29}) db.sales.insertOne({day: new Date("2020-01-24"), amount: 35})
Exemple 1 : Trier par date croissante
Nous pouvons utiliser le code suivant pour trier tous les documents par date et par ordre croissant :
db.sales.find().sort({"day": 1})
Cette requête renvoie les résultats suivants :
{ _id: ObjectId("6189401696cd2ba58ce928fa"), day: 2020-01-20T00:00:00.000Z, amount: 40 } { _id: ObjectId("6189401696cd2ba58ce928fb"), day: 2020-01-21T00:00:00.000Z, amount: 32 } { _id: ObjectId("6189401696cd2ba58ce928fc"), day: 2020-01-22T00:00:00.000Z, amount: 19 } { _id: ObjectId("6189401696cd2ba58ce928fd"), day: 2020-01-23T00:00:00.000Z, amount: 29 } { _id: ObjectId("6189401696cd2ba58ce928fe"), day: 2020-01-24T00:00:00.000Z, amount: 35 }
Notez que le document avec la date la plus ancienne (2020-01-20) apparaît en premier tandis que le document avec la date la plus récente (2020-01-24) apparaît en dernier.
Exemple 2 : Trier par date décroissante
Nous pouvons utiliser le code suivant pour trier tous les documents par date et par ordre décroissant :
db.sales.find().sort({"day": -1})
Cette requête renvoie les résultats suivants :
{ _id: ObjectId("6189401696cd2ba58ce928fe"), day: 2020-01-24T00:00:00.000Z, amount: 35 } { _id: ObjectId("6189401696cd2ba58ce928fd"), day: 2020-01-23T00:00:00.000Z, amount: 29 } { _id: ObjectId("6189401696cd2ba58ce928fc"), day: 2020-01-22T00:00:00.000Z, amount: 19 } { _id: ObjectId("6189401696cd2ba58ce928fb"), day: 2020-01-21T00:00:00.000Z, amount: 32 } { _id: ObjectId("6189401696cd2ba58ce928fa"), day: 2020-01-20T00:00:00.000Z, amount: 40 }
Notez que le document avec la date la plus récente (2020-01-24) apparaît en premier tandis que le document avec la date la plus ancienne (2020-01-20) apparaît en dernier.
Remarque : Vous pouvez trouver la documentation complète de la fonction de tri ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans MongoDB :
MongoDB : Comment ajouter un nouveau champ
MongoDB : Comment supprimer un champ
MongoDB : Comment regrouper par et compter
MongoDB : Comment regrouper par plusieurs champs