獲取所有 MongoDB 文件,但不要符合兩個給定條件的文件。


按照以下給定的場景,獲取所有符合某些給定條件的 MongoDB 文件

場景1以下是如何使用 $ne 運算子獲取所有不符合某個條件的文件的查詢

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

場景2以下是使用 $nin 運算子獲取所有不符合兩個給定條件的文件的查詢

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

我們首先建立一個集合。以下是使用文件建立集合的查詢

>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")
}

以下是使用 find() 方法從集合中顯示所有文件的查詢

> db.findAllExceptFromOneOrtwoDemo.find().pretty();

這將產生以下輸出

{
   "_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"
}

場景1單個條件 

以下是查詢

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

這將產生以下輸出

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

場景2兩個條件

以下是查詢

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

這將產生以下輸出

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

更新時間: 2019-07-30

已檢視 74 次

開啟你的職業生涯

完成課程即可獲得認證

開始
廣告
© . All rights reserved.