Database
db={"appointment":[{"_id":"61cb1cad610963c75f7e41a2","patient":"61c045bcb0c7e68c96e6ba0e","dentNumber":33,"diagnosis":"String3","price":500,"date":"18-10-2021","time":"15:50","createdAt":"2021-12-28T14:18:21.537Z","updatedAt":"2021-12-28T14:24:29.576Z","__v":0},{"_id":"61cc26bd7d1e9476e52c4b35","patient":"61c045bcb0c7e68c96e6ba0e","dentNumber":4,"diagnosis":"String3","price":1600,"date":"17-10-2021","time":"16:50","createdAt":"2021-12-29T09:13:33.575Z","updatedAt":"2021-12-29T09:13:33.575Z","__v":0},{"_id":"61cc3663970d00f9129d0456","patient":"61c045bcb0c7e68c96e6ba0e","dentNumber":5,"diagnosis":"String4","price":1700,"date":"18-10-2021","time":"17:50","createdAt":"2021-12-29T10:20:19.257Z","updatedAt":"2021-12-29T10:20:19.257Z","__v":0},],"patient":[{"_id":"61c045bcb0c7e68c96e6ba0e","fullname":"test 126","phone":"+7 123 54 55","createdAt":"2021-12-20T08:58:36.776Z","updatedAt":"2021-12-20T08:58:36.776Z","__v":0}]}
Query
db.appointment.aggregate([{$lookup:{from:"patient",localField:"patient",foreignField:"_id",as:"patient"}},{$group:{_id:"$date",data:{$push:{id:"$_id",patientId:{$first:"$patient._id"},patient:{$first:"$patient"},dentNumber:"$dentNumber",diagnosis:"$diagnosis",price:"$price",date:"$date",time:"$time"}}}},{$sort:{_id:1}}])