Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm kiếm một giá trị trong một đối tượng có các phím số với MongoDB

Để tìm kiếm một giá trị, chỉ cần sử dụng $ where trong MongoDB. Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo268.insertOne(
...   {
...      "details" : {
...         "101" : "John",
...         "1001" : "Bob"
...      }
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4816141627c0c63e7dbaaf")
}

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo268.find();

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e4816141627c0c63e7dbaaf"), "details" : { "101" : "John", "1001" : "Bob" } }

Sau đây là truy vấn để tìm kiếm một giá trị trong một đối tượng có các phím số -

> db.demo268.find({ $where:
...   function() {
...      for (var k in this.details) {
...         if (this.details[k] == "Bob") {
...            return true;
...         }
...      }
...   }
...})

Điều này sẽ tạo ra kết quả sau -

{ "_id" : ObjectId("5e4816141627c0c63e7dbaaf"), "details" : { "101" : "John", "1001" : "Bob" } }