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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *