Database

db={users:[{"id":"1","accountId":"629a251af534a3600aa1a150","name":"Some User","createdAt":{"$date":{"$numberLong":"1654269244479"}},"properties":{"age":"39"},}],productevents:[{"name":"login","accountId":"629a251af534a3600aa1a150","userId":"1","groupId":"1","properties":{"client":"mobile"},"createdAt":{"$date":{"$numberLong":"1654269289432"}},},{"name":"login","accountId":"629a251af534a3600aa1a150","userId":"1","groupId":"1","properties":{"client":"mobile"},"createdAt":{"$date":{"$numberLong":"1654269284355"}},}]}

Query

db.users.aggregate([{$lookup:{from:"productevents",let:{id:"$id"},pipeline:[{$match:{$expr:{$eq:["$userId","$$id"]},}},{$sort:{createdAt:-1}},{$limit:1},{$project:{createdAt:1,_id:0}}],as:"lastActivity"}},{$set:{"lastActivity":{$arrayElemAt:["$lastActivity",0]}}},{"$project":{"id":1,"createdAt":1,"properties":1,"lastActivity":"$lastActivity.createdAt"}}])

Result