Database
db={"testA":[{"_id":"60508eeb52a2ab598a013bb9","message":"hello","field1":false,"field2":1,"field3":"something"},{"_id":"60508f4152a2ab598a013bbb","message":"hello","field1":false,"field2":1,"field3":"s1"},{"_id":"60508f2852a2ab665a013bba","message":"hello","field1":false,"field2":1,"field3":"s1"}],"testB":[{"_id":ObjectId("60508f4152a2ab598a013bbb"),"favorite":["60508f4152a2ab598a013bbb","60508f4552a2ab598a013bbc"],"aId":ObjectId("60508f2852a2ab598a013bba")},{"_id":ObjectId("60508f4552a2ab598a013bbc"),"favorite":["60508f4152a2ab598a013bbb","60508f4552a2ab598a013bbc"],"aId":ObjectId("60508f2852a2ab598a013bba")},{"_id":ObjectId("605090a452a2ab598a013bbd"),"favorite":["60508f4152a2ab598a013bbb","60508f4552a2ab598a013bbc"],"aId":ObjectId("60508eeb52a2ab598a013bb9")}]}
Query
db.testA.aggregate([{$match:{$or:[{"message":{$regex:"he"}},{"field3":{$regex:"s"}}]}},{$lookup:{from:"testB",localField:"_id",foreignField:"favorite",as:"join"}},{$addFields:{favorite:{$cond:[{$in:["$_id",{$reduce:{input:"$join",initialValue:[],in:{$concatArrays:["$$value","$$this.favorite"]}}}]},true,false]}}}])