หากต้องการแยกเอกสารตามเอกสารย่อย ให้ใช้ $unwind ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo276.insertOne({"Name":"Chris","Subjects":["MySQL","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e48f953dd099650a5401a51")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo276.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5e48f953dd099650a5401a51"),
"Name" : "Chris",
"Subjects" : [
"MySQL",
"MongoDB"
]
} ต่อไปนี้เป็นแบบสอบถามเพื่อแยกเอกสารตามเอกสารย่อย -
> db.demo276.aggregate( [ { $unwind : "$Subjects" } ] ) สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e48f953dd099650a5401a51"), "Name" : "Chris", "Subjects" : "MySQL" }
{ "_id" : ObjectId("5e48f953dd099650a5401a51"), "Name" : "Chris", "Subjects" : "MongoDB" }