📅  最后修改于: 2023-12-03 14:44:21.853000             🧑  作者: Mango
在MongoDB中,$not
运算符用于对查询条件进行NOT
操作,该操作将匹配查询条件不满足的所有文档。在本文中,我们将学习如何使用$not
运算符进行MongoDB查询。
MongoDB的$not
运算符语法如下所示:
{ field: { $not: { operaion } } }
其中:
field
表示要进行操作的字段;operation
表示一个查询条件操作符,例如 $eq
、$neq
、$gt
等。假设我们有以下文档:
[
{ "_id": 1, "name": "apple", "price": 1.99 },
{ "_id": 2, "name": "banana", "price": 0.99 },
{ "_id": 3, "name": "carrot", "price": 0.49 },
]
db.products.find({ price: { $not: { $eq: 1.99 } } })
解释:
$eq
表示相等运算符;$not
表示非运算符;{ price: { $not: { $eq: 1.99 } } }
表示价格字段不等于1.99的所有文档。查询结果:
[
{ "_id": 2, "name": "banana", "price": 0.99 },
{ "_id": 3, "name": "carrot", "price": 0.49 }
]
a
结尾的所有文档db.products.find({ name: { $not: /a$/ } })
解释:
/a$/
表示以字母a
结尾的正则表达式;{ name: { $not: /a$/ } }
表示名称字段不以字母a
结尾的所有文档。查询结果:
[
{ "_id": 2, "name": "banana", "price": 0.99 },
{ "_id": 3, "name": "carrot", "price": 0.49 }
]
$not
运算符只能用于具有单一值的字段,例如数字、字符串和日期等。不能用于具有数组或子文档的字段。{}
括起来,例如{ field: { $not: /regex/ } }
。以上就是MongoDB中$not
运算符的介绍,希望对你有所帮助。