Devdit
 

a group specification must include an _id คือ วิธีแก้ไข

1.3K

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" }
        }
    }]
)
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ