Database

db={"properties":[{"_id":1,"identifier":"identifier1"},{"_id":2,"identifier":"identifier2"},{"_id":3,"identifier":"identifier3"},{"_id":4,"identifier":"identifier4"}],"old_properties_data":[{"_id":1,"identifier":"identifier1"},{"_id":2,"identifier":"identifier2"},{"_id":3,"identifier":"identifier2"}]}

Query

db.properties.aggregate([{$lookup:{from:"old_properties_data",localField:"identifier",foreignField:"identifier",as:"matched"}},{$project:{identifier:1,match_count:{$size:"$matched"}}},{"$group":{"_id":"$identifier","total_match_count":{"$sum":"$match_count"}}},{"$lookup":{"from":"old_properties_data","pipeline":[{"$count":"total"}],"as":"total_count"}},{"$unwind":"$total_count"},{"$project":{total_match_count:1,total_unmatched_count:{"$subtract":["$total_count.total","$total_match_count"]}}}])

Result