Database
db={"heroes":[{_id:"HID_1",name:"A"},{_id:"HID_2",name:"B"}],"weapons":[{name:"WHID_1",weapon:"Sword"},{name:"WHID_2",weapon:"Lance"}]}
Query
db.heroes.aggregate([{$project:{_id:1,name:1,newID:{$concat:["W","$_id"]}}},{"$lookup":{"from":"weapons",localField:"newID",foreignField:"name","as":"data"}},{$unwind:"$data"},{$replaceRoot:{newRoot:{$mergeObjects:["$data","$$ROOT"]}}},{$project:{data:0,newID:0}}])