Probeer het met het volgende fragment
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 bovenstaande zoekgroep op apparaat-ID en datum, gegevens en gateway_id zijn de laatste in elke rij.