หากต้องการแยกเอกสารตามเอกสารย่อย ให้ใช้ $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" }