Database

[{"_id":ObjectId("60a2c0621e5f043b735e36ef"),"car_id":78,"terminal":"JFK","timestamp":ISODate("2020-01-01T17:00:00.000Z"),},{"_id":ObjectId("60a2c0621e5f043b735e36f0"),"car_id":78,"terminal":"LAX","timestamp":ISODate("2020-02-08T17:00:00.000Z"),},{"_id":ObjectId("60a2c0621e5f043b735e36f1"),"car_id":78,"terminal":"ORD","timestamp":ISODate("2020-03-01T17:00:00.000Z"),},{"_id":ObjectId("60a2c0621e5f043b735e36f2"),"car_id":79,"terminal":"MIA","timestamp":ISODate("2020-02-11T17:00:00.000Z"),},{"_id":ObjectId("60a2c0621e5f043b735e36f3"),"car_id":79,"terminal":"ORD","timestamp":ISODate("2020-03-21T17:00:00.000Z"),},{"_id":ObjectId("60a2c0621e5f043b735e36f4"),"car_id":81,"terminal":"JFK","timestamp":ISODate("2020-08-01T17:00:00.000Z"),},]

Query

db.collection.aggregate([{"$match":{"$or":[{"car_id":78,"timestamp":{"$lte":ISODate("2020-02-15T05:00:11.000Z")}},{"car_id":78,"timestamp":{"$lte":ISODate("2020-03-02T11:07:27.000Z")}}]}},{"$sort":{"timestamp":1}},{$addFields:{group:{$cond:{if:{$lte:["$timestamp",ISODate("2020-02-15T05:00:11.000Z")]},then:1,else:2}}}},{"$group":{"_id":"$group","last":{"$last":"$$ROOT"}}}])

Result