如何對 MongoDB 子文件中的每個欄位求和?
要對子文件中的每個欄位求和,請使用集框架。讓我們首先建立一個包含文件的集合——
> db.sumEveryFieldDemo.insertOne( ... { ... "_id":101, ... "PlayerDetails": [ ... {"PlayerName":"John","PlayerScore":1000}, ... {"PlayerName":"Carol","PlayerScore":2000}, ... {"PlayerName":"Sam","PlayerScore":3000} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 101 }
以下是有助於使用 find() 方法顯示集合中所有文件的查詢——
> db.sumEveryFieldDemo.find().pretty();
將生成以下輸出——
{
"_id" : 101,
"PlayerDetails" : [
{
"PlayerName" : "John",
"PlayerScore" : 1000
},
{
"PlayerName" : "Carol",
"PlayerScore" : 2000
},
{
"PlayerName" : "Sam",
"PlayerScore" : 3000
}
]
}以下是有助於對 MongoDB 的子文件求和的查詢——
> db.sumEveryFieldDemo.aggregate( [ ... { $unwind: "$PlayerDetails" }, ... { $group: { ... _id: '$_id', ... sum: { $sum: '$PlayerDetails.PlayerScore' } ... } } ... ] ).pretty();
將生成以下輸出——
{ "_id" : 101, "sum" : 6000 }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP