MongoDB 聚合 / 在特定的學生之間求和分數的數學運算


總之,將 aggregate() 與 $sum 結合使用。我們建立一個帶有文件的集合 −

> db.demo434.insertOne({"Name":"Chris","Score":45});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771603bbc41e36cc3cae93")
}
> db.demo434.insertOne({"Name":"David","Score":55});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e77161abbc41e36cc3cae94")
}
> db.demo434.insertOne({"Name":"Chris","Score":55});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771624bbc41e36cc3cae95")
}

在集合中使用 find() 方法顯示所有文件 −

> db.demo434.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e771603bbc41e36cc3cae93"), "Name" : "Chris", "Score" : 45 }
{ "_id" : ObjectId("5e77161abbc41e36cc3cae94"), "Name" : "David", "Score" : 55 }
{ "_id" : ObjectId("5e771624bbc41e36cc3cae95"), "Name" : "Chris", "Score" : 55 }

以下是特定學生總分的查詢 −

> db.demo434.aggregate([
...    { "$match": { "Name": "Chris"} },
...    { "$group": { "_id": null, "TotalScore": { "$sum": "$Score" } } }
... ]);

這將產生以下輸出 −

{ "_id" : null, "TotalScore" : 100 }

更新於: 2020 年 4 月 3 日

203 次瀏覽

開啟您的 職業 生涯

透過完成本課程獲得證書

開始學習
廣告
© . All rights reserved.