Database
db={"CollectionA":[{_id:"227dd33c5c51c79f63743da3",mainId:"5c306562-9c87-48dd-93ca-4a118be50490",createdAt:ISODate("2022-05-07T02:28:12.537+00:00")},{_id:"f3ddd33c5c51c79f63743da4",mainId:"5c306562-9c87-48dd-93ca-4a118be50491",createdAt:ISODate("2022-05-10T02:28:12.537+00:00")},{_id:"227dd33c5c51c79f63743da5",mainId:"5c306562-9c87-48dd-93ca-4a118be50492",createdAt:ISODate("2022-01-01T02:28:12.537+00:00")}],"CollectionB":[{_id:"227dd33c5c51c79f63743da3",mainId:"5c306562-9c87-48dd-93ca-4a118be50490",createdAt:ISODate("2022-05-07T02:28:12.537+00:00")}]}
Query
db.CollectionA.aggregate([{"$lookup":{"from":"CollectionB","localField":"mainId","foreignField":"mainId","as":"validd"}},{"$match":{$expr:{$or:[{$eq:["$validd",[]]},{$and:[{$ne:["$validd",[]]},{$lt:["$createdAt",{"$dateSubtract":{"startDate":"$$NOW","unit":"day","amount":90}}]}]}]}}}])