Database

[{"username":"abc","col1":[{"colId":1,"col2":[{"name":"a","value":10},{"name":"b","value":20},{"name":"c","value":30}],"col3":[{"name":"d","value":15},{"name":"f","value":35},{"name":"e","value":25}]},{"colId":2,"col2":[{"name":"aa","value":0},{"name":"bb","value":1},{"name":"cc","value":3}],"col3":[{"name":"d","value":5},{"name":"a","value":13},{"name":"e","value":3}]}]}]

Query

db.collection.aggregate([{$unwind:"$col1"},{$unwind:"$col1.col2"},{$unwind:"$col1.col3"},{$group:{_id:"$col1.colId",maxCol2:{$max:"$col1.col2.value"},maxCol3:{$max:"$col1.col3.value"},col2:{$addToSet:"$col1.col2"},col3:{$addToSet:"$col1.col3"}}},{$project:{maxValue:{$filter:{input:{$cond:[{$gt:["$maxCol2","$maxCol3"]},"$col2","$col3"]},cond:{$eq:["$$this.value",{$cond:[{$gt:["$maxCol2","$maxCol3"]},"$maxCol2","$maxCol3"]}]}}}}},{$unwind:"$maxValue"},{$project:{_id:1,maxValue:"$maxValue.name",value:"$maxValue.value"}}])

Result