Esta es mi imagen de colección de base de datos mongo-DB [1]: https://i.stack.imgur.com/TIKh1.png
Quiero agregar una consulta en la que necesito obtener un grupo por mes y la suma de (cantidad) de la matriz (proyecto) que se está incrustando en la colección (modelo de usuario)
Así es como lo estoy haciendo actualmente, pero en la consola no se muestra ningún resultado
router.get('/calculatedata', Authenticate, async (req, res) => { try { const getUser = await UserModel.findById({ _id: req.userID }); const getProject = await getUser.aggregate([ {$unwind: '$project' }, {$group: { _id: { month: "$month" }, total:{$sum:"$project.amount"} } }]); console.log(getProject) } catch (error) { res.status(400).send({ message: "Something Went Wrong" }) } })Primero debe extraer el mes de la fecha y extraer la fecha de la cadena, por ejemplo:
month: {$month: { $dateFromString:{ dateString:"$project.date" , timezone:'America/New_York' }} }o extraiga el mes como el número (01..12) de la cadena:
month: { $substr: ["$project.date", 5, 7] }