Database

db={"properties":[{_id:"somePropertyId",propName:"molecular weight",propType:"number",unit:null},{_id:"somePropertyId2",propName:"molecular weight2",propType:"number2",unit:null}],"collection":[{elementId:"someElementId",propId:"somePropertyId",value:55.845},{elementId:"someElementId",propId:"somePropertyId",value:1.345},{elementId:"someElementId",propId:"somePropertyId",value:120.814},{elementId:"someElementId2",propId:"somePropertyId2",value:20.531},{elementId:"someElementId2",propId:"somePropertyId2",value:15.129},{elementId:"someElementId2",propId:"somePropertyId2",value:99.513}]}

Query

db.collection.aggregate([{$group:{_id:"$propId",min:{$min:"$value"},max:{$max:"$value"}}},{$lookup:{from:"properties",localField:"_id",foreignField:"_id",as:"name"}},{$unwind:"$name"},{$project:{_id:0,"name":"$name.propName","range":{"min":"$min","max":"$max"}}}])

Result