การ Query รายชื่อด้วย $all Operator
สำหรับการนี้ ให้ใช้ $all Operator $all จะเลือกเอกสารที่ค่าของ Field เป็น Array ที่มี Element ทั้งหมดที่ระบุ
สร้าง Collection พร้อมข้อมูล
> db.demo642.insertOne(
... {
... _id:1,
... ListOfNames:["Robert","John"]
... }
... );
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo642.insertOne( { _id:2, ListOfNames:["Robert","Chris"] } );
{ "acknowledged" : true, "insertedId" : 2 }
แสดงเอกสารทั้งหมด
> db.demo642.find();
ผลลัพธ์:
{ "_id" : 1, "ListOfNames" : [ "Robert", "John" ] }
{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }
คิวรีหารายชื่อที่มีทั้ง Chris และ Robert
> db.demo642.find({ListOfNames: {
... $all: [ "Chris", "Robert" ]
... }})
ผลลัพธ์:
{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }