หากต้องการค้นหาค่า ให้ใช้ $where ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo268.insertOne(
... {
... "details" : {
... "101" : "John",
... "1001" : "Bob"
... }
... }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e4816141627c0c63e7dbaaf")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo268.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e4816141627c0c63e7dbaaf"), "details" : { "101" : "John", "1001" : "Bob" } } ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาค่าในวัตถุด้วยปุ่มตัวเลข -
> db.demo268.find({ $where:
... function() {
... for (var k in this.details) {
... if (this.details[k] == "Bob") {
... return true;
... }
... }
... }
...}) สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e4816141627c0c63e7dbaaf"), "details" : { "101" : "John", "1001" : "Bob" } }