如何结合 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 }

更新日期: 2020 年 4 月 2 日

2K+ 次浏览

开启你的职业

通过完成课程获得认证

开始
广告