Database

[{"_id":ObjectId("65bf93af87961d8081b2c7e8"),"createdAt":ISODate("2023-07-26T04:05:36.314Z"),"deletedAt":ISODate("2023-11-15T07:06:36.314Z")},{"_id":ObjectId("65bf93af87961d8081b2c7e7"),"createdAt":ISODate("2023-09-05T09:05:36.314Z")},{"_id":ObjectId("65bf93af87961d8081b2c7e6"),"createdAt":ISODate("2023-10-14T04:05:36.314Z"),"deletedAt":ISODate("2023-10-15T07:06:36.314Z")}]

Query

db.collection.aggregate([{$project:{months:{$let:{vars:{startMonth:{$dateTrunc:{date:"$createdAt",unit:"month"}},endMonth:{$dateTrunc:{date:{$ifNull:["$deletedAt","$$NOW"]},unit:"month"}}},in:{$map:{input:{$range:[0,{$add:[{$dateDiff:{startDate:"$$startMonth",endDate:"$$endMonth",unit:"month"}},1]}]},in:{$dateToString:{date:{$dateAdd:{startDate:"$$startMonth",unit:"month",amount:"$$this"}},format:"%Y-%m"}}}}}}}},{$unwind:"$months"},{$group:{_id:"$months",count:{$sum:1}}},{$sort:{_id:1}},{$project:{createdAt:"$_id",count:1,_id:0}}])

Result