Database
[{_id:1,date:ISODate("2022-04-08T23:30:12.000Z"),books:[{author:"Johnson",title:"First Title"},{author:"Smith",title:"Second Title"}]},{_id:2,date:ISODate("2022-04-22T23:30:12.000Z"),books:[{author:"Johnson",title:"Some Other Title"}]},{_id:3,date:ISODate("2022-05-05T23:30:12.000Z"),books:[{author:"Smith",title:"Title Round 2"}]},{_id:4,date:ISODate("2022-05-15T23:30:12.000Z"),books:[{author:"Johnson",title:"Found a Title"},{author:"Smith",title:"Wrote again"},{author:"Brooks",title:"New Title"}]}]
Query
db.collection.aggregate([{$unwind:"$books"},{$project:{_id:1,books:1,month:{"$month":"$date"},year:{"$year":"$date"}}},{$project:{_id:1,books:1,date:{$concat:[{$substr:["$year",0,4]},"-",{$substr:["$month",0,2]}]}}},{$group:{_id:{date:"$date",author:"$books.author"},count:{$sum:1}}},{$group:{_id:"$_id.date",authors:{$push:{k:"$_id.author",v:"$count"}}}},{$project:{_id:0,date:"$_id",authors:{$arrayToObject:"$authors"}}}])