如何結合 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+ 次瀏覽

開啟你的職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.