Database

db={"percentages":[{"_id":1,"base":"A","buy":"BUY_1","sell":"SELL_1","item":"ITEM_B","ask":100,"bid":114,"percentage":14},{"_id":2,"base":"B","buy":"BUY_2","sell":"SELL_2","item":"ITEM_G","ask":50,"bid":90,"percentage":80},{"_id":3,"base":"A","buy":"BUY_2","sell":"SELL_2","item":"ITEM_G","ask":10,"bid":15,"percentage":50}],"discardeditems":[{"_id":1,"buy":"BUY_1","sell":"SELL_1","item":"ITEM_B"},{"_id":2,"buy":"BUY_2","sell":"SELL_2","item":"ITEM_G"}],"filtereditems":[{"_id":2,"buy":"BUY_2","sell":"SELL_2","item":"ITEM_G","percentage":"55"}]}

Query

db.percentages.aggregate([{$match:{percentage:{$gte:0,}},},{$lookup:{from:"discardeditems",let:{buy:"$buy",sell:"$sell",item:"$item",},pipeline:[{$match:{$expr:{$and:[{$eq:["$$buy","$buy"],},{$eq:["$$sell","$sell"],},{$eq:["$$item","$item"],},],},},},{$limit:1,},],as:"discardeditems",},},{$addFields:{isdiscarded:{$cond:{if:{$gt:[{$size:"$discardeditems"},0]},then:true,else:false,},},discardeditems:"$$REMOVE",},}])

Result