Database

db={"orders":[{"_id":1,"items":[{"name":"first","things":["almonds"]},{"name":"second","things":["cashews","almonds"]}],"price":12,"quantity":2},{"_id":2,"item":["pecans","cashews"],"price":20,"quantity":1},{"_id":3}],"inventory":[{"_id":1,"sku":"almonds","description":"product 1","instock":120},{"_id":2,"sku":"bread","description":"product 2","instock":80},{"_id":3,"sku":"cashews","description":"product 3","instock":60},{"_id":4,"sku":"pecans","description":"product 4","instock":70},{"_id":5,"sku":null,"description":"Incomplete"}]}

Query

db.orders.aggregate([{"$match":{"_id":1}},{"$lookup":{"from":"inventory","localField":"items.things","foreignField":"sku","as":"items.things"}}])

Result