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

ค้นหาเอกสารตามชื่อฟิลด์ที่มีค่าเฉพาะใน MongoDB?


หากต้องการค้นหาเอกสารตามชื่อฟิลด์ที่มีค่าเฉพาะ คุณสามารถใช้ตัวดำเนินการ $exists ให้เราสร้างคอลเลกชันที่มีเอกสาร

> db.findByFieldName.insertOne( { "Client":{ "ClientDetails":{ "ClientName":"Larry", "ClientAge":29 }, "ClientProjectDetails":{ "ProjectName":"Online Book Store", "TeamSize":10, "TechnologyUsed":"Spring Boot" } } } );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9e93b2d628fa4220163b64")
}
> db.findByFieldName.insertOne({
... "   Client":{
... "      ClientDetails":{
... "         ClientName":"Chris",
... "         ClientAge":27
...        },
...       "ClientEducationDetails":{
... "         isEducated":true,
...          "CollegeName":"M.I.T."
...
...       }
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9e9421d628fa4220163b65")
}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()

> db.findByFieldName.find().pretty();

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

{
   "_id" : ObjectId("5c9e93b2d628fa4220163b64"),
   "Client" : {
      "ClientDetails" : {
         "ClientName" : "Larry",
         "ClientAge" : 29
      },
      "ClientProjectDetails" : {
         "ProjectName" : "Online Book Store",
         "TeamSize" : 10,
         "TechnologyUsed" : "Spring Boot"
      }
   }
}
{
   "_id" : ObjectId("5c9e9421d628fa4220163b65"),
   "Client" : {
      "ClientDetails" : {
         "ClientName" : "Chris",
         "ClientAge" : 27
      },
      "ClientEducationDetails" : {
         "isEducated" : true,
         "CollegeName" : "M.I.T."
      }
   }
}

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาเอกสารตามชื่อเขตข้อมูล

> db.findByFieldName.find({"Client.ClientProjectDetails":{$exists: true}}).pretty();

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

{
   "_id" : ObjectId("5c9e93b2d628fa4220163b64"),
   "Client" : {
      "ClientDetails" : {
         "ClientName" : "Larry",
         "ClientAge" : 29
      },
      "ClientProjectDetails" : {
         "ProjectName" : "Online Book Store",
         "TeamSize" : 10,
         "TechnologyUsed" : "Spring Boot"
      }
   }
}