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

ค้นหาฟิลด์ย่อยใน MongoDB หรือไม่


หากต้องการค้นหาไฟล์ย่อยใน MongoDB คุณสามารถใช้เครื่องหมายคำพูดคู่พร้อมกับเครื่องหมายจุด ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -

> db.searchSubFieldDemo.insertOne(
...   {
...      "UserDetails":
...      {"UserEmailId":"John123@gmail.com","UserAge":21}
...   }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d909edc6604c74817ce2")
}
> db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"Carol@yahoo.com","UserAge":26} } );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3")
}

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

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

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

{
   "_id" : ObjectId("5cd3d909edc6604c74817ce2"),
   "UserDetails" : {
      "UserEmailId" : "John123@gmail.com",
      "UserAge" : 21
   }
}
{
   "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"),
   "UserDetails" : {
      "UserEmailId" : "Carol@yahoo.com",
      "UserAge" : 26
   }
}

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาฟิลด์ย่อยบน MongoDB -

> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"Carol@yahoo.com"});

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

{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "Carol@yahoo.com", "UserAge" : 26 } }