Database

db={"Lock":[{"_id":1,"Key":"one",},{"_id":2,"Key":"two"}],"Queue":[{"_id":1,"Data":{"Key":"one"},"Result":"Success"},{"_id":2,"Data":{"Key":"one"},"Result":"Error"},{"_id":3,"Data":{"Key":"two"},"Result":"Error"}]}

Query

db.Lock.aggregate([{$lookup:{from:"Queue",let:{lockKey:"$Key"},pipeline:[{$match:{$expr:{$and:[{$eq:["$Data.Key","$$lockKey"]},{$eq:["$Result","Error"]}]}}}],as:"Queues"}}])

Result