Database

db={"assettypes":[{"_id":1,"name":"Single Family","type":"location",},{"_id":2,"name":"Multi Family","type":"location",},{"_id":3,"name":"Walland","type":"insured",},],"assets":[{"_id":1,"name":"asset #1","assetType":1,"fields":[1,2]},{"_id":2,"name":"asset #2","assetType":2,"fields":[1]},{"_id":3,"name":"asset #3","assetType":3,"fields":[2]},{"_id":4,"sku":"pecans","description":"product 4","instock":70}],"policies":[{"_id":1,"assets":[1,2,3,4],}],"fields":[{"_id":1,"fieldType":1,"value":"test"},{"_id":2,"fieldType":1,"value":"test value 2"},],"fieldtypes":[{"_id":1,"key":"address",}]}

Query

db.policies.aggregate([{$lookup:{from:"assets",localField:"assets",foreignField:"_id",as:"assets"}},{$unwind:"$assets"},{$lookup:{from:"fields",localField:"assets.fields",foreignField:"_id",as:"assets.fields"}},{$lookup:{from:"assettypes",localField:"assets.assetType",foreignField:"_id",as:"assets.assetType"}},{$lookup:{from:"fieldtypes",localField:"assets.fields.fieldType",foreignField:"_id",as:"assets.fieldtypes"}},{$set:{"assets.assetType":{$first:"$assets.assetType"},"assets.fields":{"$map":{"input":"$assets.fields","in":{"$mergeObjects":["$$this",{fieldType:{"$getField":{"input":{"$arrayElemAt":["$assets.fieldtypes",{"$indexOfArray":["$assets.fieldtypes._id","$$this.fieldType"]}]},field:"key"}}}]}}},"assets.fieldtypes":"$$REMOVE"}},{$group:{_id:"$_id",assets:{$push:"$assets"}}}])

Result