Database

db={"type_place":[{"_id":"5fbc7cc705253c2da482023f","type_place":"office","objects":[{"_id":"5fbc7cc705253c2da48202saw","name":"chair"},{"_id":"5fbc7cc705253c2da4820242","name":"table"},{"_id":"5fbc7cc705253c2da482025f","name":"desktop"}]}],"place":[{"_id":"5fbc7cc705253c2da482025f","place":"Room 5","type_place_id":"5fbc7cc705253c2da482023f",/**"office"*/"type_place_objects":[{"_id":"5fbc7cc705253c2da48202saw",/**chair*/"quantify":4},{"_id":"5fbc7cc705253c2da482025f",/**desktop*/"quantify":2}]}]}

Query

db.place.aggregate([{"$match":{"place":"Room 5"}},{$unwind:"$type_place_objects"},{"$lookup":{"from":"type_place","let":{tpo:"$type_place_objects._id"},"pipeline":[{$unwind:"$objects"},{$match:{$expr:{$eq:["$objects._id","$$tpo"]}}}],"as":"join"}},{$addFields:{"join":{"$arrayElemAt":["$join",0]}}},{$addFields:{"type_place_objects.name":"$join.objects.name"}},{$group:{_id:"$_id",place:{$first:"$place"},type_place_objects:{"$addToSet":"$type_place_objects"}}}])

Result