Database

[{_id:"1",market:"A",contractorName:"ABC",field:"123",amount:10},{_id:"2",market:"A",contractorName:"ABC",field:"123",amount:7},{_id:"3",market:"B",contractorName:"ABC",field:"12345",amount:8},{_id:"4",market:"B",contractorName:"ABC",field:"1234567",amount:5},{_id:"5",market:"B",contractorName:"ABC",field:"1234567",amount:9}]

Query

db.collection.aggregate([{$group:{_id:{market:"$market",field:"$field"},sumOfAmounts:{$sum:"$amount"}}},{$group:{_id:"$_id.market",result:{$push:{field:"$_id.field",sumOfAmounts:"$sumOfAmounts"}}}},{$set:{market:"$_id"}}])

Result