Database

db={"collection1":[{_id:"90b992b7-b85f-4e1c-9080-fc3e2dba0db0",pIds:["47c9124d-f027-4221-8d60-9f491993d923","08c89e83-ad62-443c-a731-3c6ccd9ca3af"]}],"collection2":[{_id:"47d44016-ff84-44dc-b650-abab36d5f661",userId:"47c9124d-f027-4221-8d60-9f491993d923",isOnline:true}]}

Query

db.collection1.aggregate([{"$lookup":{"from":"collection2","localField":"pIds","foreignField":"userId","as":"docs"}},{"$project":{"_id":1,"pIds":{"$map":{"input":"$pIds","as":"pId","in":{"$mergeObjects":[{"userId":"$$pId"},{"isOnline":{"$reduce":{"input":"$docs","initialValue":false,"in":{"$or":[false,{"$getField":{"field":"isOnline","input":{"$first":{"$filter":{"input":"$docs","as":"doc","cond":{"$eq":["$$pId","$$doc.userId"]}}}}}}]}}}}]}}}}}])

Result