How to get every day of month even if sum is 0 or null?

Hello, I’m using Mongoose in NODEJS and I’ve searched a lot to do this, but I don’t find a way to make this happen in my code, I’m using Mongo 5.x.x (IDK exactly version)

Here is the question, I need to bring all month day result (a sum of values) even if sum is null or 0, but in my actual query I only bring dates with some value

My query:

{
                        $lookup:
                            {
                                from: 'boleto_cancelado',
                                localField: '_id',
                                foreignField: 'boleto',
                                as: 'boleto_cancelado'
                            },
                    },
                    {
                        $lookup:
                            {
                                from: 'boleto_extrato',
                                localField: '_id',
                                foreignField: 'boleto',
                                as: 'boleto_extrato'
                            },
                    },
                    {
                        $match:
                        {
                            estabelecimento: new ObjectID(req.params.estabelecimento),
                            ativo: true,
                            "dados_boleto.data_vencimento":  {$gte: monthStart, $lt: monthEnd},
                            'boleto_extrato.modulo_id': {$exists: false},
                            'boleto_cancelado.modulo_id': {$exists: false},
                        }
                    },
                    {
                        $group:
                        {
                            _id: { mes: { $month: "$data_cadastro" }, dia: { $dayOfMonth: "$data_cadastro" } },
                            quantidade: { $sum: 1 },
                            soma_npagos:  { $sum: "$valor.valor_boleto" },
                        }
                    },
                    {
                        $project:
                        {
                            dia: "$_id.dia",
                            soma_npagos: "$soma_npagos",
                            quantidade: "$quantidade"
                        }
                    },
                    {
                        $sort:
                        {
                            "dia": 1
                        }
                    }],

Thats the result:


      "_id": {
        "mes": 1,
        "dia": 19
      },
      "dia": 19,
      "soma_npagos": 189700,
      "quantidade": 2
    },
    {
      "_id": {
        "mes": 1,
        "dia": 28
      },
      "dia": 28,
      "soma_npagos": 133000,
      "quantidade": 1
    },
    {
      "_id": {
        "mes": 3,
        "dia": 29
      },
      "dia": 29,
      "soma_npagos": 71750,
      "quantidade": 1
    }

And I want something like that:

"_id": {
        "mes": 1, //MONTH
        "dia": 1 //DAY
      },
      "dia": 2, //DAY
      "soma_npagos": 0, // SUM
      "quantidade": 0 // COUNT
    },
"_id": {
        "mes": 1, //MONTH
        "dia": 2 //DAY
      },
      "dia": 2,
      "soma_npagos": 0,
      "quantidade": 0
    },
"_id": {
        "mes": 1,
        "dia": 3
      },
      "dia": 3,
      "soma_npagos": 0,
      "quantidade": 0
    },
"_id": {
        "mes": 1,
        "dia": 4
      },
      "dia": 4,
      "soma_npagos": 0,
      "quantidade": 0
    },
"_id": {
        "mes": 1,
        "dia": 5
      },
      "dia": 5,
      "soma_npagos": 0,
      "quantidade": 0
    },
.........
      "_id": {
        "mes": 1,
        "dia": 19
      },
      "dia": 19,
      "soma_npagos": 189700,
      "quantidade": 2
    },
    {
      "_id": {
        "mes": 1,
        "dia": 28
      },
      "dia": 28,
      "soma_npagos": 133000,
      "quantidade": 1
    },
    {
      "_id": {
        "mes": 3,
        "dia": 29
      },
      "dia": 29,
      "soma_npagos": 71750,
      "quantidade": 1
    }

How can i do that, please?

See related thread How create an array of dates? - #3 by steevej.