Database

[{answers:{"question1":"a","question2":"c","question3":["a","b"],"question4":1},createdAt:ISODate("2022-03-04T07:30:40.517Z")},{answers:{"question1":"b","question2":"c","question3":["a","c"],"question4":2},createdAt:ISODate("2022-03-04T07:30:40.518Z")},{answers:{"question1":"a","question2":"a","question3":["b","c"],"question4":4},createdAt:ISODate("2022-03-05T07:30:40.518Z")}]

Query

db.collection.aggregate([{$project:{_id:0,answers:{$objectToArray:"$answers"},date:{$dateToString:{format:"%Y-%m-%d",date:"$createdAt"}}}},{$unwind:"$answers"},{$unwind:"$answers.v"},{$group:{_id:{answer:"$answers.v",question:"$answers.k",date:"$date"},count:{$sum:1}}},{$facet:{dates:[{$group:{_id:{question:"$_id.question",date:"$_id.date"},count:{$push:{k:{$toString:"$_id.answer"},v:"$count"}}}},{$group:{_id:"$_id.date",count:{$push:{k:"$_id.question",v:{$arrayToObject:"$count"}}}}},{$replaceWith:{$mergeObjects:[{date:"$_id"},{$arrayToObject:"$count"}]}}],totals:[{$group:{_id:{answer:"$_id.answer",question:"$_id.question"},v:{$push:"$count"}}},{$group:{_id:"$_id.question",count:{$push:{k:{$toString:"$_id.answer"},v:{$sum:"$v"}}}}},{$project:{_id:0,k:"$_id",v:{$arrayToObject:"$count"}}}]}},{$set:{totals:{$arrayToObject:"$totals"}}}])

Result