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

กำลังสอบถามเกี่ยวกับอาร์เรย์ของวัตถุสำหรับเอกสารที่ซ้อนกันเฉพาะกับ MongoDB หรือไม่


หากต้องการสอบถามอาร์เรย์ของวัตถุสำหรับเอกสารที่ซ้อนกัน ให้ใช้ find() ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo763.insertOne(
...    {
...       _id:1,
...       CountryName:"US",
...       "studentInformation": [
...          {
...             StudentName:"Chris",
...          },
...          {
...             StudentName:"David",
...             StudentAge:22
...          }
...       ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }

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

> db.demo763.find();

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

{ "_id" : 1, "CountryName" : "US", "studentInformation" : [ { "StudentName" : "Chris" }, { "StudentName" : "David", "StudentAge" : 22 } ] }

ต่อไปนี้เป็นวิธีการสืบค้นอาร์เรย์ของวัตถุเพื่อดึงเอกสารที่ซ้อนกันเฉพาะ -

> db.demo763.find({},
... {
...    studentInformation: {
...       $elemMatch: {
...          StudentAge: {
...             $exists: true
...          }
...       }
...    }
... })

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

{ "_id" : 1, "studentInformation" : [ { "StudentName" : "David", "StudentAge" : 22 } ] }