MongoDB $nin 运算符介绍
Mongodb $nin
运算符用于在 Mongodb 数据库中查找不符合指定条件的文档。它是 Mongodb 查询语言中的一种操作符,可以与其他操作符组合使用来构建更复杂的查询语句。
语法
$nin
运算符的语法如下:
{ <field>: { $nin: [ <value1>, <value2> ... ] } }
其中,<field>
是要查询的字段,<value1>, <value2>
等是不符合查询条件的值。
使用场景
$nin
运算符常用于过滤不符合特定条件的文档,例如:
- 查询一个集合中不属于特定类别的商品。
- 查询一个集合中不在特定列表中的用户。
- 查询一个集合中不属于某个时间段内的订单。
示例
假设我们有一个名为 users
的集合,其中存储了用户的姓名和年龄信息。我们想查询不属于特定年龄段的用户,可以使用 $nin
运算符来实现:
db.users.find({ age: { $nin: [18, 20, 22] } })
上述查询语句会返回所有年龄不为 18、20、22 的用户信息。
假设集合中存在以下文档:
{ "name": "Alice", "age": 18 }
{ "name": "Bob", "age": 20 }
{ "name": "Charlie", "age": 22 }
{ "name": "David", "age": 24 }
{ "name": "Eve", "age": 26 }
那么执行以下查询语句:
db.users.find({ age: { $nin: [18, 20, 22] } })
将会返回以下结果:
{ "name": "David", "age": 24 }
{ "name": "Eve", "age": 26 }
结论
$nin
运算符是 Mongodb 查询语言中一个常用的操作符,可用于过滤不符合指定条件的文档。它可以与其他操作符组合使用,构建更为复杂的查询语句。