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

Mảng truy vấn cho giá trị 'true' tại chỉ mục n trong MongoDB?

Bạn có thể sử dụng ký hiệu dấu chấm (.) Cho việc này. 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.containsTrueValueDemo.insertOne({"IsMarried":[true,false,true,true,true,true,false,true,false,false,true]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd5039c2cba06f46efe9ef5")
}

Sau đây là truy vấn để 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.containsTrueValueDemo.find().pretty();

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

{
   "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"),
   "IsMarried" : [
      true,
      false,
      true,
      true,
      true,
      true,
      false,
      true,
      false,
      false,
      true
   ]
}

Mảng truy vấn cho giá trị 'true' tại chỉ mục n -

> db.containsTrueValueDemo.find({'IsMarried.2' : true});

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

{
   "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"),
   "IsMarried" : [
      true,
      false,
      true,
      true,
      true,
      true,
      false,
      true,
      false,
      false,
      true
   ]
}

Truy vấn đến Mảng cho giá trị 'true' tại chỉ mục n -

> db.containsTrueValueDemo.find({$and :  [ {'IsMarried.0' : true}, {'IsMarried.2' : true} ] } );

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

{
   "_id" : ObjectId("5cd5039c2cba06f46efe9ef5"),
   "IsMarried" : [
      true,
      false,
      true,
      true,
      true,
      true,
      false,
      true,
      false,
      false,
      true
   ]
}