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

กำลังสอบถามอาร์เรย์ของอาร์เรย์ใน MongoDB หรือไม่


ใช้ตัวดำเนินการ $in เพื่อสอบถามอาร์เรย์ของอาร์เรย์ใน MongoDB เพื่อให้เข้าใจแนวคิด ให้เราสร้างคอลเลกชันพร้อมกับเอกสาร แบบสอบถามเพื่อสร้างคอลเลกชันที่มีเอกสารมีดังนี้ -

> db.arrayOfArraysDemo.insertOne({"EmployeeName":"Larry","EmployeeSkills":[["Java","MongoDB","MySQL","SQL Server"]]});{ "รับทราบ" :true, "insertedId" :ObjectId("5c7f7a8d8d10a061296a3c5b")}> db.arrayOfArraysDemo.insertOne({"EmployeeName":"Mike","EmployeeSkills":[["C","C++"]]});{ " รับทราบ" :จริง "insertedId" :ObjectId("5c7f7aa68d10a061296a3c5c")}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังนี้ −

> db.arrayOfArraysDemo.find().pretty();

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c7f7a8d8d10a061296a3c5b"), "EmployeeName" :"Larry", "EmployeeSkills" :[ [ "Java", "MongoDB", "MySQL", "SQL Server" ] ]}{ " _id" :ObjectId("5c7f7aa68d10a061296a3c5c"), "EmployeeName" :"Mike", "EmployeeSkills" :[ [ "C", "C++" ] ]}

นี่คือแบบสอบถามสำหรับการสอบถามอาร์เรย์ของอาร์เรย์ใน MongoDB -

> db.arrayOfArraysDemo.find({'EmployeeSkills':{$elemMatch:{$elemMatch:{$in:['MongoDB']}}}}).pretty();

ต่อไปนี้เป็นผลลัพธ์ -

{ "_id" :ObjectId("5c7f7a8d8d10a061296a3c5b"), "EmployeeName" :"Larry", "EmployeeSkills" :[ [ "Java", "MongoDB", "MySQL", "SQL Server" ] ]}