MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come ottenere l'ultimo documento di ogni giorno nella raccolta MongoDB?

Dato un giorno, calcola l'inizio e la fine di un giorno. Questo deve essere utilizzato per filtrare i record, $match

start_of_day_ephocs=
end_of_day_ephocs=

Query aggregata

ordina per data, Raggruppa per ID ospedale e seleziona il primo 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" }
         }
     }
   ]
)