Database
[{_id:1,name:"Box 1",products:[{pId:123,name:"sneaker"},{pId:456,name:"pants"},{pId:789,name:"shirt"}]},{_id:2,name:"Box 2",products:[{pId:123,name:"sneaker"},{pId:456,name:"pants"},{pId:111,name:"socks"}]},{_id:3,name:"Box 3",products:[{pId:123,name:"sneaker"},{pId:222,name:"belt"},{pId:333,name:"shorts"}]}]
Query
db.collection.aggregate([{"$unwind":"$products"},{"$group":{"_id":"$products.pId","count":{"$sum":1}}},{"$match":{"_id":{$in:[123,456,789]}}},])