Database

db={BRANCH:[{"BCODE":"B1","BNAME":"CANADA"},{"BCODE":"B2","BNAME":"USA"},{"BCODE":"B3","BNAME":"CANADA"}],ACCOUNT:[{"ANO":1,"Amount":1000,"BCODE":"B1"},{"ANO":2,"Amount":350,"BCODE":"B1"},{"ANO":3,"Amount":450,"BCODE":"B1"},{"ANO":4,"Amount":360,"BCODE":"B2"},{"ANO":5,"Amount":800,"BCODE":"B2"},{"ANO":6,"Amount":450,"BCODE":"B3"},{"ANO":7,"Amount":360,"BCODE":"B2"},{"ANO":8,"Amount":800,"BCODE":"B1"}]}

Query

db.BRANCH.aggregate([{$lookup:{from:"ACCOUNT",localField:"BCODE",foreignField:"BCODE",as:"TOTAL_ACCOUNTS"}},{$addFields:{TOTAL_ACCOUNTS:{$size:"$TOTAL_ACCOUNTS"}}},{$group:{_id:null,branches:{$push:"$$ROOT"},totalAvg:{$avg:"$TOTAL_ACCOUNTS"}}},{$project:{_id:0,branches:{$filter:{input:"$branches",cond:{$gt:["$$this.TOTAL_ACCOUNTS","$totalAvg"]}}}}}])

Result