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

แบบสอบถาม MongoDB เพื่อรับรายชื่อเฉพาะจากเอกสารที่ค่าของเขตข้อมูลเป็นอาร์เรย์


สำหรับสิ่งนี้ ให้ใช้ $all ตัวดำเนินการ $all จะเลือกเอกสารที่ค่าของเขตข้อมูลเป็นอาร์เรย์ที่มีองค์ประกอบที่ระบุทั้งหมด ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo642.insertOne(
...    {
...       _id:1,
...       ListOfNames:["Robert","John"]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo642.insertOne( { _id:2, ListOfNames:["Robert","Chris"] } );
{ "acknowledged" : true, "insertedId" : 2 }

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

> db.demo642.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : 1, "ListOfNames" : [ "Robert", "John" ] }
{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }

ต่อไปนี้เป็นแบบสอบถามเพื่อรับรายชื่อเฉพาะจากเอกสารที่ค่าของเขตข้อมูลเป็นอาร์เรย์ -

> db.demo642.find({ListOfNames: {
...    $all: [ "Chris", "Robert" ]
... }})

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }