ใน MongoDB ใช้ $all เพื่อเลือกเอกสารที่ค่าของ field เป็นอาร์เรย์ที่มีองค์ประกอบที่ระบุทั้งหมด
ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo163.insertOne( ... { ... "ClientDetails": [{ ... "ClientName": "Chris" ... ... }, { ... "ClientName": "David" ... ... } ... ] ... ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e3686d49e4f06af551997c5") } > db.demo163.insertOne( ... { ... "ClientDetails": [{ ... "ClientName": "Mike" ... ... }, { ... "ClientName": "Sam" ... ... } ... ] ... ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e3686d59e4f06af551997c6") } > db.demo163.insertOne( ... { ... "ClientDetails": [{ ... "ClientName": "Robert" ... ... }, { ... "ClientName": "Sam" ... ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e3686d59e4f06af551997c7") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo163.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e3686d49e4f06af551997c5"), "ClientDetails" : [ { "ClientName" : "Chris" }, { "ClientName" : "David" } ] } { "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] } { "_id" : ObjectId("5e3686d59e4f06af551997c7"), "ClientDetails" : [ { "ClientName" : "Robert" }, { "ClientName" : "Sam" } ] }
ต่อไปนี้เป็นแบบสอบถามสำหรับ $all ใน MongoDB -
> db.demo163.find({"ClientDetails": {$all: [{"ClientName": "Mike"}, {"ClientName": "Sam"}]}});
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e3686d59e4f06af551997c6"), "ClientDetails" : [ { "ClientName" : "Mike" }, { "ClientName" : "Sam" } ] }