Database
db={"orders":[{"_id":1,itemId:"a",itemType:"book"},{"_id":2,itemId:"b",itemType:"book"},{"_id":3,itemId:"c",itemType:"electronic"}],books:[{_id:"a",status:"OK"},{_id:"b",status:"BAD"},{_id:"c",status:"OK"}]}
Query
db.orders.aggregate([{$match:{"itemType":"book"}},{$lookup:{from:"books",localField:"itemId",foreignField:"_id",let:{"itemType":"$itemType"},pipeline:[{$match:{status:"OK"}}],as:"bookData"}}])