Database

[{"commodities":[{name:"A",buyPrice:10,sellPrice:20},{name:"B",buyPrice:30,sellPrice:30},{name:"C",buyPrice:0,sellPrice:0}]}]

Query

db.collection.aggregate([{$project:{maxBuyPrice:{$max:"$commodities.buyPrice"},minBuyPrice:{$ifNull:[{$min:{$filter:{input:"$commodities.buyPrice",cond:{$gt:["$$this",0]}}}},0]},maxSellPrice:{$max:"$commodities.sellPrice"},minSellPrice:{$ifNull:[{$min:{$filter:{input:"$commodities.sellPrice",cond:{$gt:["$$this",0]}}}},0]}}}])

Result