MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Último registro por data para cada item do grupo mongodb


Tente com o seguinte trecho
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
    }}
]);

No grupo de consulta acima por ID e data do dispositivo, dados e gateway_id serão os mais recentes em cada linha.