ใช้ตัวดำเนินการ $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" ] ]}ก่อน>