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

Truy vấn MongoDB để tìm trên cơ sở các giá trị đúng hoặc sai

Để tìm trên cơ sở giá trị đúng hoặc sai, hãy sử dụng $ tồn tại trong find (). Bạn cũng sẽ cần ký hiệu dấu chấm cho cùng một nhiệm vụ.

Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

> db.demo367.insertOne(
...    { "Id" : "102",
...    "details" : [ { "Name" : "David"},
...    { "Age" : 23, "CountryName" : "UK"} ],
...    "isMarried" : false }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e0b62ae06a1609a00ae8")
}
> db.demo367.insertOne(
...    { "Id" : "101",
...    "details" : [ { "Name" : "Chris", "Subject" : [ "MySQL" ] },
...    { "Age" : 21, "CountryName" : "US"} ],
...    "isMarried" : true }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e0be2ae06a1609a00ae9")
}

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.demo367.find();

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

{
   "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [
      { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false }
{
   "_id" : ObjectId("5e57e0be2ae06a1609a00ae9"), "Id" : "101", "details" : [
      { "Name" : "Chris", "Subject" : [ "MySQL" ] }, { "Age" : 21, "CountryName" : "US" } ], "isMarried" : true 
}

Sau đây là truy vấn để tìm trên cơ sở các giá trị true false bằng cách kiểm tra với $ tồn tại -

> db.demo367.find({"details.Subject": { $exists: false}});

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

{ "_id" : ObjectId("5e57e0b62ae06a1609a00ae8"), "Id" : "102", "details" : [ { "Name" : "David" }, { "Age" : 23, "CountryName" : "UK" } ], "isMarried" : false }