Database

db={"vehicles":[{"_id":"1",brand:"ford",model:"explorer",year:"1999",suppliers:[{name:"supplier1",contact:"john doe",supplierId:"001"},{name:"supplier2",contact:"jane doez",supplierId:"002"}]},{"_id":"2",brand:"honda",model:"accord",year:"2002",suppliers:[{name:"supplier1",contact:"john doe",supplierId:"001"},]}],"suppliers":[{"name":"supplier1","contact":"john doe","_id":"001","internalId":"999-001","address":"111 main street"},{"name":"supplier2","contact":"jane doez","_id":"002","internalId":"999-002","address":"222 north street"},{"name":"ignored_supplier","contact":"doesnt matter","_id":"xxxxxxx","internalId":"xxxxxxx","address":"0987 midtown"}]}

Query

db.vehicles.aggregate([{$unwind:"$suppliers"},{$lookup:{from:"suppliers",localField:"suppliers.supplierId",foreignField:"_id",as:"vehicle_suppliers"}},{$unwind:"$vehicle_suppliers"},{$addFields:{"suppliers.internalId":"$vehicle_suppliers.internalId"}},{$group:{_id:"$_id",brand:{$first:"$brand"},model:{$first:"$model"},year:{$first:"$year"},suppliers:{$push:"$suppliers"}}}])

Result