Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

MongoDB Aggregation ด้วยหลายคีย์ (Multiple Keys)

ใช้ $group กับ _id แบบออบเจกต์

สามารถจัดกลุ่มและสรุปข้อมูลตามหลายคีย์พร้อมกันได้ โดยกำหนด _id เป็นออบเจกต์ที่มีหลายฟิลด์

> db.demo190.insertOne({ "DueDate": ISODate("2020-01-01"), "Value": 10, "Name": "Chris" });

คำสั่ง aggregate จัดกลุ่มตาม Name และปีของ DueDate:

db.demo190.aggregate([ { $group: { _id: { Name: "$Name", DueDate: { $year: "$DueDate" } }, Value: { $sum: "$Value" } } } ])

ผลลัพธ์: รวม Value ตาม Name และปี

{ "_id": { "Name": "David", "DueDate": 2020 }, "Value": 30 }
{ "_id": { "Name": "Chris", "DueDate": 2020 }, "Value": 50 }