Database

[{branchId:"Location 1",orgId:"1",stars:"2",reviewUpdatedAt:ISODate("2018-06-01T15:37:35.502Z")},{branchId:"Location 1",orgId:"1",stars:"3",reviewUpdatedAt:ISODate("2018-06-01T15:37:35.502Z")},{branchId:"Location 1",orgId:"1",stars:"5",reviewUpdatedAt:ISODate("2018-07-01T15:37:35.502Z")},{branchId:"Location 1",orgId:"1",stars:"3",reviewUpdatedAt:ISODate("2019-06-01T15:37:35.502Z")},{branchId:"Location 2",orgId:"2",stars:"0",reviewUpdatedAt:ISODate("2018-06-01T15:37:35.502Z")},{branchId:"Location 2",orgId:"2",stars:"2",reviewUpdatedAt:ISODate("2018-06-01T15:37:35.502Z")}]

Query

db.collection.aggregate([{$group:{_id:{date:{$dateToString:{format:"%m-%Y",date:"$reviewUpdatedAt"}},loc:"$branchId"},Total:{$sum:1}}},{$group:{_id:"$_id.loc",reviews:{$push:{Total:"$Total","date":"$_id.date"}}}},{$addFields:{reviews:{$reduce:{input:{$setDifference:[["06-2018","07-2018","08-2018","09-2018","10-2018","11-2018","12-2018","01-2019","02-2019","03-2019","04-2019","05-2019","06-2019"],"$reviews.date"]},initialValue:"$reviews",in:{$concatArrays:["$$value",[{date:"$$this",Total:0}]]}}}}}])

Result