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

Kiểm tra xem giá trị có tồn tại cho một trường trong tài liệu MongoDB không?

Để kiểm tra xem giá trị có tồn tại cho một trường trong tài liệu MongoDB hay không, bạn có thể sử dụng find () cùng với toán tử $ being. 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.checkIfValueDemo.insertOne({"PlayerName":"John Smith","PlayerScores":[5000,98595858,554343]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6f507af8e7a4ca6b2ad98")
}
> db.checkIfValueDemo.insertOne({"PlayerName":"John Doe","PlayerScores":[]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6f512af8e7a4ca6b2ad99")
}
> db.checkIfValueDemo.insertOne({"PlayerName":"Carol Taylor","PlayerScores":[7848474,8746345353]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6f521af8e7a4ca6b2ad9a")
}
> db.checkIfValueDemo.insertOne({"PlayerName":"David Miller","PlayerScores":[]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6f531af8e7a4ca6b2ad9b")
}

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

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

{
   "_id" : ObjectId("5cc6f507af8e7a4ca6b2ad98"),
   "PlayerName" : "John Smith",
   "PlayerScores" : [
      5000,
      98595858,
      554343
   ]
}
{
   "_id" : ObjectId("5cc6f512af8e7a4ca6b2ad99"),
   "PlayerName" : "John Doe",
   "PlayerScores" : [ ]
}
{
   "_id" : ObjectId("5cc6f521af8e7a4ca6b2ad9a"),
   "PlayerName" : "Carol Taylor",
   "PlayerScores" : [
      7848474,
      8746345353
   ]
}
{
   "_id" : ObjectId("5cc6f531af8e7a4ca6b2ad9b"),
   "PlayerName" : "David Miller",
   "PlayerScores" : [ ]
}

Sau đây là truy vấn để kiểm tra xem giá trị có tồn tại cho một trường trong tài liệu hay không. Ở đây, chúng tôi đang kiểm tra trường 'PlayerScores có giá trị [] -

> db.checkIfValueDemo.find({'PlayerScores.0' : {$exists: true}}).count();

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

2