sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo obtener el último documento de cada día en la colección MongoDB?

Dado un día, calcule el inicio y el final de un día. Esto se utilizará para filtrar registros, $match

start_of_day_ephocs=
end_of_day_ephocs=

Consulta agregada

ordenar por fecha, agrupar por ID de hospital y seleccionar el primer documento

db.Entry.aggregate(
   [
    { "$match": { "date": {"$gte":start_of_day_ephocs,"$lte":end_of_day_ephocs }} },
    { "$sort": { "date": -1 } },
     {
       $group:
         {
           "_id": "$hospital._id",
           "last_document": { "$first": "$$ROOT" }
         }
     }
   ]
)