Trier par date
Dans cette étape finale, vous allez apprendre à trier des documents par date dans MongoDB. Nous continuerons à utiliser la base de données datelab
des étapes précédentes et explorerons diverses techniques de tri.
Commençons par nous assurer que nous sommes dans la bonne base de données :
use datelab
Ajoutons quelques événements supplémentaires pour créer un ensemble de données diversifié :
db.events.insertMany([
{
event_name: "AI Summit",
date: new Date("2024-10-15T09:00:00Z"),
category: "Technology"
},
{
event_name: "Blockchain Workshop",
date: new Date("2024-05-22T14:30:00Z"),
category: "Finance"
},
{
event_name: "Cloud Computing Expo",
date: new Date("2024-03-10T11:15:00Z"),
category: "IT"
}
])
Maintenant, explorons différentes façons de trier des documents par date :
- Trier les événements par ordre croissant (du plus ancien au plus récent) :
db.events.find().sort({ date: 1 })
- Trier les événements par ordre décroissant (du plus récent au plus ancien) :
db.events.find().sort({ date: -1 })
- Combiner le tri avec le filtrage :
db.events.find({
category: "Technology"
}).sort({ date: 1 })
- Tri avancé avec plusieurs critères :
db.events.find().sort({
category: 1, // Trier par catégorie en premier
date: -1 // Puis par date dans l'ordre décroissant
})
Vérifions les résultats de notre tri :
db.events.find({}, {
event_name: 1,
date: 1,
category: 1
}).sort({ date: 1 })
Sortie exemple :
[
{
_id: ObjectId("..."),
event_name: 'Cloud Computing Expo',
date: 2024-03-10T11:15:00.000Z,
category: 'IT'
},
{
_id: ObjectId("..."),
event_name: 'Blockchain Workshop',
date: 2024-05-22T14:30:00.000Z,
category: 'Finance'
},
{
_id: ObjectId("..."),
event_name: 'AI Summit',
date: 2024-10-15T09:00:00.000Z,
category: 'Technology'
}
]
Points clés sur le tri :
1
: Ordre croissant
-1
: Ordre décroissant
- Peut trier par plusieurs champs
- Fonctionne avec des dates, des chaînes, des nombres