MongoDB ต้องการใช้คำสั่ง $group และคำสั่ง $sum เพื่อยุบรวมข้อมูล และรวมค่าตัวเลขจาก field price แต่พอรันแล้วไม่สำเร็จขึ้นข้อความว่า MongoServerError: a group specification must include an _id อยากทราบว่าปัญหานี้ต้องแก้ไขอย่างไร
db.test.aggregate(
[{
$group:
{
sum: { $sum: "$price" }
}
}]
)
วิธีแก้ไข
ปัญหานี้เกิดจากการใช้คำสั่ง group ใน MongoDB ต้องมีการกำหนด field _id ตอน return ข้อมูลด้วย แนะนำให้ใส่ field _id: null ไว้ก่อนคำสั่ง sum เพื่อแก้ไขปัญหาดังกล่าว สามารถเขียนคำสั่งได้ดังนี้
db.test.aggregate(
[{
$group:
{
_id: null,
sum: { $sum: "$price" }
}
}]
)