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

MongoDB $unwind: แยกเอกสารตาม Subdocument ในอาร์เรย์


สร้างคอลเลกชันตัวอย่าง

> db.demo276.insertOne({"Name":"Chris","Subjects":["MySQL","MongoDB"]});
{ "acknowledged": true, "insertedId": ObjectId("5e48f953dd099650a5401a51") }

แสดงข้อมูล

> db.demo276.find().pretty();
{ "_id": ObjectId("5e48f953dd099650a5401a51"), "Name": "Chris", "Subjects": [ "MySQL", "MongoDB" ] }

คิวรี Aggregate: $unwind แยกอาร์เรย์ Subjects

> db.demo276.aggregate([ { $unwind: "$Subjects" } ])

ผลลัพธ์: กลายเป็น 2 เรคคอร์ด แยกตามแต่ละวิชา

{ "_id": ObjectId("5e48f953dd099650a5401a51"), "Name": "Chris", "Subjects": "MySQL" }
{ "_id": ObjectId("5e48f953dd099650a5401a51"), "Name": "Chris", "Subjects": "MongoDB" }