Database

db={"driveHistories":[{"_id":1,"carID":1,"checkOutTime":ISODate("2022-01-01T01:00:00Z"),"checkInTime":ISODate("2022-01-01T02:00:00Z"),},],"carGeoLocations":[{"_id":1,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T00:00:00Z"),},{"_id":2,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T00:30:00Z"),},{"_id":3,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T01:00:00Z"),},{"_id":4,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T01:30:00Z"),},{"_id":5,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T02:00:00Z"),},{"_id":6,"carID":1,"geoLocationTimestamp":ISODate("2022-01-01T02:30:00Z"),}]}

Query

db.driveHistories.aggregate([{"$lookup":{"from":"carGeoLocations","localField":"carID","foreignField":"carID","let":{t1:"$checkOutTime",t2:"$checkInTime"},"pipeline":[{$match:{geoLocationTimestamp:{$gte:"$$t1",$lte:"$$t2"}}}],"as":"coordinates"}}])

Result