Database

db={"characters":[{"_id":"first_astronaut","item":"almonds","price":12,"quantity":2,"pets":1}],"guilds":[{"_id":1,"members":[{"_id":"first_astronaut","rank":1,}]},]}

Query

db.guilds.aggregate([{$lookup:{from:"characters",localField:"members._id",foreignField:"_id",as:"members_guid"}},{$project:{"members_guid.pets":0}},{$project:{members:{$map:{input:"$members",as:"m",in:{$mergeObjects:["$$m",{$arrayElemAt:[{$filter:{input:"$members_guid",cond:{$eq:["$$this._id","$$m._id"]}}},0]}]}}}}}])

Result