MongoDB $nin 运算符介绍

Mongodb $nin 运算符用于在 Mongodb 数据库中查找不符合指定条件的文档。它是 Mongodb 查询语言中的一种操作符,可以与其他操作符组合使用来构建更复杂的查询语句。

语法

$nin 运算符的语法如下:

{ <field>: { $nin: [ <value1>, <value2> ... ] } }

其中,<field> 是要查询的字段,<value1>, <value2> 等是不符合查询条件的值。

使用场景

$nin 运算符常用于过滤不符合特定条件的文档,例如:

  1. 查询一个集合中不属于特定类别的商品。
  2. 查询一个集合中不在特定列表中的用户。
  3. 查询一个集合中不属于某个时间段内的订单。

示例

假设我们有一个名为 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 查询语言中一个常用的操作符,可用于过滤不符合指定条件的文档。它可以与其他操作符组合使用,构建更为复杂的查询语句。