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

แยกเอกสารตามเอกสารย่อยใน MongoDB


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