Database

db={"coll1":[{_id:1,value:["A","B","C","D"]}],"coll2":[{_id:1,predicted_value:[{value:"A",num:1,},{value:"B",num:2,},{value:"D",num:2}],real_prediction:null,predicted_by:"Person1",is_correct_prediction:null}]}

Query

db.coll2.aggregate([{"$lookup":{"from":"coll1","localField":"_id","foreignField":"_id","as":"coll1Lookup"}},{"$unwind":"$coll1Lookup"},{$set:{real_prediction:"$coll1Lookup.value",is_correct_prediction:{$ne:[[],{"$setIntersection":["$coll1Lookup.value","$predicted_value.value"]}]}}},{$unset:"coll1Lookup"},{"$merge":{"into":"coll2","on":"_id"}}])

Result