MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment obtenir le dernier document de chaque jour dans la collection MongoDB ?

Étant donné un jour, calculez le début et la fin d'un jour. Ceci doit être utilisé pour filtrer les enregistrements, $match

start_of_day_ephocs=
end_of_day_ephocs=

Requête agrégée

trier par date, regrouper par identifiant d'hôpital et sélectionner le premier document

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" }
         }
     }
   ]
)