在 MongoDB 中執行組並求和文件的 price 記錄


為此,請使用 $group 並在此條件下,我們需要使用 $sum 來相加。讓我們建立一個帶有文件的集合 −

> db.demo527.insertOne({"Price":45.5});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8aff2fef4dcbee04fbbbdc")
}
> db.demo527.insertOne({"Price":55.5});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8aff34ef4dcbee04fbbbdd")
}
> db.demo527.insertOne({"Price":100.4});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8aff39ef4dcbee04fbbbde")
}
> db.demo527.insertOne({"Price":200.6});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8aff40ef4dcbee04fbbbdf")
}

在帶有 find() 方法的幫助下,顯示集合中的所有文件 −

> db.demo527.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5e8aff2fef4dcbee04fbbbdc"), "Price" : 45.5 }
{ "_id" : ObjectId("5e8aff34ef4dcbee04fbbbdd"), "Price" : 55.5 }
{ "_id" : ObjectId("5e8aff39ef4dcbee04fbbbde"), "Price" : 100.4 }
{ "_id" : ObjectId("5e8aff40ef4dcbee04fbbbdf"), "Price" : 200.6 }

以下是求和 price 記錄的查詢 −

> db.demo527.aggregate([ { $group: { _id:null, totalPrice:{"$sum":"$Price"}} } ])

這將產生以下輸出 −

{ "_id" : null, "totalPrice" : 402 }

更新於:13-May-2020

68 次瀏覽

開始您的 職業生涯

透過完成課程獲得證書

開始使用
廣告