Ordenar por fecha
En este último paso, aprenderá a ordenar documentos por fecha en MongoDB. Continuaremos utilizando la base de datos datelab
de los pasos anteriores y exploraremos varias técnicas de clasificación.
Primero, asegúrese de estar en la base de datos correcta:
use datelab
Agregemos algunos más eventos para crear un conjunto de datos diverso:
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"
}
])
Ahora, explore diferentes maneras de ordenar documentos por fecha:
- Ordenar eventos en orden ascendente (desde el más antiguo hasta el más reciente):
db.events.find().sort({ date: 1 })
- Ordenar eventos en orden descendente (desde el más reciente hasta el más antiguo):
db.events.find().sort({ date: -1 })
- Combinar la clasificación con el filtrado:
db.events.find({
category: "Technology"
}).sort({ date: 1 })
- Clasificación avanzada con múltiples criterios:
db.events.find().sort({
category: 1, // Ordenar por categoría primero
date: -1 // Luego por fecha en orden descendente
})
Verifiquemos nuestros resultados de clasificación:
db.events.find({}, {
event_name: 1,
date: 1,
category: 1
}).sort({ date: 1 })
Salida de ejemplo:
[
{
_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'
}
]
Puntos clave de clasificación:
1
: Orden ascendente
-1
: Orden descendente
- Se puede ordenar por múltiples campos
- Funciona con fechas, cadenas, números