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

Truy vấn MongoDB để kiểm tra xem một giá trị có nằm trong mảng không?

Để kiểm tra một giá trị cụ thể, hãy sử dụng $ in. 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.testInArray.insertOne({"ListOfNumbers":[10,56,78,90,32]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04d42df5e889d7a519950d")
}
> db.testInArray.insertOne({"ListOfNumbers":[56,78,91,100]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e04d588f5e889d7a519950e")
}

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

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

{
   "_id" : ObjectId("5e04d42df5e889d7a519950d"),
   "ListOfNumbers" : [
      10,
      56,
      78,
      90,
      32
   ]
}
{
   "_id" : ObjectId("5e04d588f5e889d7a519950e"),
   "ListOfNumbers" : [
      56,
      78,
      91,
      100
   ]
}

Đây là truy vấn để kiểm tra xem một giá trị có trong mảng hay không -

> db.testInArray.find({ ListOfNumbers:{ "$in" : [90]} });

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

{ "_id" : ObjectId("5e04d42df5e889d7a519950d"), "ListOfNumbers" : [ 10, 56, 78, 90, 32 ] }