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"}}},{"name":"login","accountId":"629a251af534a3600aa1a150","userId":"2","groupId":"2","properties":{"client":"mobile"},"createdAt":{"$date":{"$numberLong":"1654269224355"}}}]}

Query

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

Result