Database
db={"A":[{"_id":1,"name":"A1","active":true},{"_id":2,"name":"A2","active":true}],"B":[{"_id":1,"name":"B1","active":true},{"_id":2,"name":"B2","active":false}],"C":[{"_id":1,"name":"C1","active":true,"relations":{a_id:1,b_id:2}}]}
Query
db.C.aggregate([{$lookup:{from:"A",let:{id:"$relations.a_id"},pipeline:[{$match:{active:true,$expr:{$eq:["$$id","$_id"]}}}],as:"relations.a_data"}},{$lookup:{from:"B",let:{id:"$relations.b_id"},pipeline:[{$match:{active:true,$expr:{$eq:["$$id","$_id"]}}}],as:"relations.b_data"}},{$project:{name:1,active:1,relations:{a_id:{$ifNull:[{$arrayElemAt:["$relations.a_data",0]},"$relations.a_id"]},b_id:{$ifNull:[{$arrayElemAt:["$relations.b_data",0]},"$relations.b_id"]}}}}])