Database
[{"car_id":1,"timestamp":ISODate("2021-10-30T00:00:01.000Z"),"k_value":14},{"car_id":1,"timestamp":ISODate("2021-10-30T00:00:02.000Z"),"k_value":14},{"car_id":1,"timestamp":ISODate("2021-10-30T00:00:03.000Z"),"k_value":14},{"car_id":1,"timestamp":ISODate("2021-10-30T00:00:04.000Z"),"k_value":15},{"car_id":2,"timestamp":ISODate("2021-10-30T00:00:00.000Z"),"k_value":8},{"car_id":2,"timestamp":ISODate("2021-10-30T00:00:01.000Z"),"k_value":8},{"car_id":3,"timestamp":ISODate("2021-10-30T00:00:01.000Z"),"k_value":8},{"car_id":3,"timestamp":ISODate("2021-10-30T00:00:02.000Z"),"k_value":8.1},]
Query
db.collection.aggregate([{$sort:{car_id:1,timestamp:-1}},{$group:{_id:"$car_id",k_value:{$push:"$k_value"},timestamp:{$push:"$timestamp"}}},{$project:{_id:0,car_id:"$_id",mostRecentValues:{$slice:["$k_value",0,2]},mostRecentTime:{$slice:["$timestamp",0,2]}}},{"$group":{_id:"cars","cars":{"$push":{"$cond":[{"$ne":[{"$arrayElemAt":["$mostRecentValues",0]},{"$arrayElemAt":["$mostRecentValues",1]}]},"$$ROOT","$$REMOVE"]}}}},{$unset:"_id"},{$unwind:"$cars"}])