Saltar al contenido

¿Es posible sumar 2 campos en MongoDB usando el marco de agregación?

Solución:

Encontré una solución:

Simplemente usando $ project para $ agregar los dos campos juntos en la salida.

{ "$project" : {
      'totalA' : '$totalA',
      'totalB' : '$totalB',
      'totalSum' : { '$add' : [ '$totalA', '$totalB' ] },
     }

Puedes usar $sum De este modo:

{
    $group : {
        _id: null,
        amount: { $sum: { $add : [ 
            '$NumberOfItemsShipped', '$NumberOfItemsUnshipped' 
        ]}},
    }
},

Además de esta respuesta aquí, agregue el problema con $add dando valores incorrectos, cuando las claves no están presentes en algunos documentos.

Si, por ejemplo, Col3 Y Col4 las llaves son a veces not present/ undefined, luego debajo $ifNull ayudará:

{
 $group : {
  _id: {
     "Col1": "$Col1",
     "Col2": "$Col2"
    },
  sum_of_all_days_in_year: {
    $sum: {
      "$add": [
        { "$ifNull": ["$Col3", 0] },
        { "$ifNull": ["$Col4", 0] }
       ]
     }
  },
 }
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *