MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie erhalte ich das letzte Dokument eines jeden Tages in der MongoDB-Sammlung?

Berechnen Sie bei einem gegebenen Tag den Beginn und das Ende eines Tages. Dies wird zum Filtern von Datensätzen verwendet, $match

start_of_day_ephocs=
end_of_day_ephocs=

Aggregierte Abfrage

nach Datum sortieren, nach Krankenhaus-ID gruppieren und erstes Dokument auswählen

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