Mongodb: วิธีคำนวณผลรวมของฟิลด์


คุณสามารถใช้วิธีการต่อไปนี้เพื่อคำนวณผลรวมของค่าในช่องใน MongoDB:

วิธีที่ 1: คำนวณผลรวมของฟิลด์

 db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])

วิธีที่ 2: คำนวณผลรวมของเขตข้อมูลตามกลุ่ม

 db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $valueField "}}}])

ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับ ทีม เรียกเก็บเงิน พร้อมเอกสารต่อไปนี้:

 db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8})
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12})
db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5})
db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})

ตัวอย่างที่ 1: คำนวณผลรวมของฟิลด์

เราสามารถใช้โค้ดต่อไปนี้เพื่อคำนวณผลรวมของค่าในช่อง คะแนน :

 db.teams.aggregate([{ $group : {_id: null , sum_val:{$sum: " $points "}}}])

แบบสอบถามนี้ส่งกลับผลลัพธ์ต่อไปนี้:

 { _id: null , sum_val: 130}

จากผลลัพธ์เราจะเห็นว่าผลรวมของค่าในช่องจุดคือ 130 .

เราสามารถตรวจสอบได้ด้วยตนเองว่าสิ่งนี้ถูกต้องโดยการคำนวณผลรวมของค่าคะแนนด้วยตนเอง:

ผลรวมคะแนน: 30 + 30 + 20 + 25 + 25 = 130

ตัวอย่างที่ 2: คำนวณผลรวมของฟิลด์ตามกลุ่ม

เราสามารถใช้โค้ดต่อไปนี้เพื่อคำนวณผลรวมของค่าในช่อง คะแนน ซึ่งจัดกลุ่มตามช่อง ทีม :

 db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])

แบบสอบถามนี้ส่งกลับผลลัพธ์ต่อไปนี้:

 { _id: ' Spurs ', sum_val: 60 }
{ _id: ' Mavs ', sum_val: 70 }

จากผลลัพธ์เราจะเห็นได้ว่า:

  • คะแนนรวมของสเปอร์สคือ 60
  • คะแนนรวมสำหรับ Mavs คือ 70

หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับฟังก์ชัน $sum ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน MongoDB:

วิธีการคำนวณค่ามัธยฐานใน MongoDB
วิธีการคำนวณค่าเฉลี่ยใน MongoDB
วิธีการคำนวณค่าสูงสุดใน MongoDB

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *