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

Neuester Datensatz nach Datum für jede Artikel-Mongodb-Gruppe

Versuchen Sie es mit folgendem Snippet

db.collection.aggregate([
    {$group: {
        "_id": "$device_id",
        "gateway_id": {"$last":"$gateway_id"},
        "data": {"$last": '$data'},
        "date": {"$last": '$date_time'},
    }},
    {$project: {
        "device_id": "$_id",
        "gateway_id": "$gateway_id",
        "data": "$data",
        "date_time": "$date"
    }},
    {$sort: {
        "date": -1
    }}
]);

In der obigen Abfragegruppe nach Geräte-ID und Datum sind Daten und Gateway_ID in jeder Zeile die neuesten.