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

Nhận tất cả tài liệu MongoDB nhưng không nhận được tài liệu có hai tiêu chí nhất định?

Để nhận tất cả các tài liệu MongoDB với một số tiêu chí nhất định, hãy làm theo bất kỳ trường hợp cụ thể nào dưới đây

Trường hợp 1 Sau đây là truy vấn để lấy tất cả các tài liệu mà không có một tiêu chí duy nhất bằng cách sử dụng toán tử $ ne

db.yourCollectionName.find({yourFieldName:{$ne:"yourValue"}}).pretty();

Trường hợp 2 Sau đây là truy vấn để lấy tất cả các tài liệu không có hai tiêu chí nhất định bằng cách sử dụng toán tử $ nin

db.yourCollectionName.find({yourFieldName:{$nin:["yourValue1","yourValue2"]}}).pretty();

Đầu tiên chúng ta hãy tạo một bộ sưu tập. Sau đây là truy vấn để tạo một bộ sưu tập với các tài liệu

>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Larry","StudentSubjectName":"Java"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c993d82330fd0aa0d2fe4d2")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Chris","StudentSubjectName":"C++"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c993d8f330fd0aa0d2fe4d3")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Robert","StudentSubjectName":"C"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c993d99330fd0aa0d2fe4d4")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"David","StudentSubjectName":"Python"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c993da4330fd0aa0d2fe4d5")
}

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

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

{
   "_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
   "StudentName" : "Larry",
   "StudentSubjectName" : "Java"
}
{
   "_id" : ObjectId("5c993d8f330fd0aa0d2fe4d3"),
   "StudentName" : "Chris",
   "StudentSubjectName" : "C++"
}
{
   "_id" : ObjectId("5c993d99330fd0aa0d2fe4d4"),
   "StudentName" : "Robert",
   "StudentSubjectName" : "C"
}
{
   "_id" : ObjectId("5c993da4330fd0aa0d2fe4d5"),
   "StudentName" : "David",
   "StudentSubjectName" : "Python"
}

Trường hợp 1 Tiêu chí đơn

Sau đây là truy vấn

> db.findAllExceptFromOneOrtwoDemo.find({StudentSubjectName:{$ne:"C"}}).pretty();

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

{
   "_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
   "StudentName" : "Larry",
   "StudentSubjectName" : "Java"
}
{
   "_id" : ObjectId("5c993d8f330fd0aa0d2fe4d3"),
   "StudentName" : "Chris",
   "StudentSubjectName" : "C++"
}
{
   "_id" : ObjectId("5c993da4330fd0aa0d2fe4d5"),
   "StudentName" : "David",
   "StudentSubjectName" : "Python"
}

Trường hợp 2 Hai tiêu chí

Sau đây là truy vấn

>db.findAllExceptFromOneOrtwoDemo.find({StudentSubjectName:{$nin:["C++","Python"]}}).pretty();

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

{
   "_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
   "StudentName" : "Larry",
   "StudentSubjectName" : "Java"
}
{
   "_id" : ObjectId("5c993d99330fd0aa0d2fe4d4"),
   "StudentName" : "Robert",
   "StudentSubjectName" : "C"
}