Database

[{"collection":"productos","count":2,"content":{"_id":{"type":"ref","id":1,"refContent":{"type":"string","unique":true,"minLength":6,"maxLength":8}},"nombre":{"type":"faker","method":"BeerName"}}},{"collection":"ingresos","count":5,"content":{"proveedor":{"type":"objectId"},"detalles":{"type":"array","size":2,"arrayContent":{"type":"object","objectContent":{"producto_id":{"type":"ref","id":1},"cantidad":{"type":"int","minInt":5,"maxInt":50}}}}}}]

Query

db.productos.aggregate([{"$lookup":{"from":"ingresos","localField":"_id","foreignField":"detalles.producto_id","as":"ingresos"}},{"$unwind":"$ingresos"},{"$project":{"_id":1,"nombre":1,"ingresos":"$ingresos.detalles"}}])

Result