如何结合 aggregate() 在 MongoDB 中计算总和?
要获取总和,请结合 aggregate() 使用 $sum。我们使用文档创建一个集合−
> db.demo337.insertOne({"Amount":100}); { "acknowledged" : true, "insertedId" : ObjectId("5e5231e5f8647eb59e56209b") } > db.demo337.insertOne({"Amount":500}); { "acknowledged" : true, "insertedId" : ObjectId("5e5231e9f8647eb59e56209c") } > db.demo337.insertOne({"Amount":400}); { "acknowledged" : true, "insertedId" : ObjectId("5e5231ebf8647eb59e56209d") }
借助 find() 方法显示集合中的所有文档−
> db.demo337.find();
这将生成以下输出 −
{ "_id" : ObjectId("5e5231e5f8647eb59e56209b"), "Amount" : 100 } { "_id" : ObjectId("5e5231e9f8647eb59e56209c"), "Amount" : 500 } { "_id" : ObjectId("5e5231ebf8647eb59e56209d"), "Amount" : 400 }
以下是计算 MongoDB 中总和的查询 −
> db.demo337.aggregate( ... [ ... { ... $group: ... { ... _id:null, ... totalAmount: { $sum:"$Amount" } ... } ... } ... ] ... );
这将生成以下输出 −
{ "_id" : null, "totalAmount" : 1000 }
广告