Database
[{"_id":"5f0ade7d1f84460434524d3d","name":"Fly","rate":[{"_id":"5f0bfca64ca1cc02ffe48faf","spot_id":"5f0ade7d1f84460434524d3d","rate":3},{"_id":"5f0bfdb44ca1cc02ffe48fb0","spot_id":"5f0ade7d1f84460434524d3d","rate":2},{"_id":"5f0bfdb44ca1cc02ffe48fb1","spot_id":"5f0ade7d1f84460434524d3d","rate":1}]},]
Query
db.collection.aggregate([{$addFields:{rate:{$avg:{$map:{input:"$rate",as:"datum",in:"$$datum.rate"}}}}}])