MongoDB Sum
MongoDB provides $sum to get sum of numeric values and ignores non numeric values.
Syntax of $sum
{$sum : expressions}
Here, the sum returns the sum of the specified expression or list of expressions. It is available in the group and project stages.
Example
Suppose, we have following collection.
db.product.insert([
{'item': 'iron', 'price': 120, 'quantity': 2},
{'item':'alloy', 'price':90, 'quantity': 1},
{'item':'steel', 'price':47, 'quantity': 3},
{'item':'alloy', 'price':70, 'quantity': 6},
{'item':'iron', 'price':56, 'quantity':4}
]);
The given statement returns sum of amount and total quantity of products.
db.product.aggregate(
[
{ "$group" :
{ "_id": "$item",
amt: {$sum: {$multiply: ["$price", "$quantity"]}},
qty: {$sum: "$quantity"}, count: {$sum: 1}
}
}]);
Output of the above code
{ "_id" : "steel", "amt" : 141, "qty" : 3, "count" : 1 }
{ "_id" : "alloy", "amt" : 510, "qty" : 7, "count" : 2 }
{ "_id" : "iron", "amt" : 464, "qty" : 6, "count" : 2 }