Mongodb:如何在查询中使用“不等于”
您可以在 MongoDB 中使用$ne运算符(意思是“不等于”)来查找字段不等于某个值的文档。
该运算符使用以下基本语法:
db.myCollection.find({' team ': { $ne : " Mavs "}})
此特定示例搜索名为myCollection的集合中团队字段不等于“Mavs”的所有文档。
您还可以使用$nin运算符(意思是“不在”)来查找字段不等于列表中任何值的文档。
该运算符使用以下基本语法:
db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
此特定示例搜索名为myCollection 的集合中的所有文档,其中team字段不等于“Mavs”、“Cavs”或“Spurs”。
以下示例展示了如何在收集团队的实践中使用每种方法,并提供以下文档:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})
示例 1:“不同”查询
以下代码显示如何查找team集合中“team”字段不等于“Mavs”的所有文档:
db.teams.find({' team ': { $ne : " Mavs "}})
该查询返回以下文档:
{ _id: ObjectId("6203ec0e1e95a9885e1e7658"), team: 'Cavs', points: 23, rebounds: 9 } { _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7655"), team: 'Spurs', points: 35, rebounds: 12 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
请注意,如果team字段不等于“Mavs”,则会返回team集合中的每个文档。
注意: $ne运算符区分大小写。
示例 2:“Not in”查询
以下代码显示如何在team集合中查找team字段不等于“Mavs”、“Cavs”或“Spurs”的所有文档:
db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
该查询返回以下文档:
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
请注意,当球队字段不等于“Mavs”、“Cavs”或“Spurs”时,将返回球队集合中的每个文档。
注意#1 :您可以在此处找到$ne函数的完整文档。
注意#2 :您可以在此处找到$nin函数的完整文档。
其他资源
以下教程解释了如何在 MongoDB 中执行其他常见操作:
MongoDB:如何检查字段是否包含字符串
MongoDB:如何在特定字段中搜索“not null”
MongoDB:如何替换字符串