Database

db={"payments":[{"_id":1,"item":"almonds","price":12,"quantity":2,user:10,},{"_id":2,"item":"pecans","price":20,"quantity":1,user:10,},{"_id":3,"item":"pecans","price":20,"quantity":1,user:11,},{"_id":4,"item":"pecans","price":20,"quantity":1,user:12,},],"user":[{"_id":10,"name":"abc","description":"product 1","instock":120},{"_id":11,"name":"def","description":"product 2","instock":80},{"_id":12,"name":"bfgsd","description":"product 3","instock":60},{"_id":4,"sku":"pecans","description":"product 4","instock":70},{"_id":5,"sku":null,"description":"Incomplete"},{"_id":6}]}

Query

db.payments.aggregate([{"$lookup":{"from":"user","localField":"user","foreignField":"_id","as":"user_docs"}},{"$unwind":"$user_docs",},{"$group":{"_id":"$user_docs._id","name":{"$first":"$user_docs.name"},}},{"$project":{"_id":0,"id":"$_id","name":"$name"}}])

Result