mongo的$nin

mongo的$nin

mongo的$nin

在MongoDB中,$nin操作符用于查询不在指定值列表中的文档。它可以与find()方法一起使用来过滤不符合条件的文档。

语法

$nin操作符的语法如下:

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

其中,field是要匹配的字段名,value1, value2等是要排除的值。

示例

假设我们有一个名为students的集合,其中存储了学生的成绩数据。我们希望查询出不及格(成绩小于60)且不是特定几个班级的学生信息。

首先,我们可以插入一些示例数据:

db.students.insertMany([
  { name: '张三', grade: 59, class: 'A' },
  { name: '李四', grade: 70, class: 'B' },
  { name: '王五', grade: 55, class: 'C' },
  { name: '赵六', grade: 65, class: 'D' },
  { name: '孙七', grade: 45, class: 'A' }
])

然后,我们可以使用$nin操作符进行查询:

db.students.find({ grade: { nin: [60], class: {nin: ['A', 'B'] } } })

运行该查询,我们将得到符合条件的文档:

{ "_id" : ObjectId("12345"), "name" : "王五", "grade" : 55, "class" : "C" }
{ "_id" : ObjectId("67890"), "name" : "赵六", "grade" : 65, "class" : "D" }

在上面的示例中,我们使用$nin操作符过滤了成绩小于60且不是A、B班级的学生信息。只有王五和赵六符合条件,因此它们被查询出来。

注意事项

  • $nin操作符可以用于任何类型的字段值,包括字符串、数字、数组等。
  • 可以使用多个$nin操作符组合查询条件,实现更灵活的筛选。

总的来说,$nin操作符是MongoDB中非常有用的一种筛选方式,可以方便地过滤不符合条件的文档。在实际应用中,可以根据具体需求合理地运用$nin操作符来实现数据的筛选和查询。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程