此操作符与SQL标准语法的用途是一样的,即要查询的数据在一系列枚举值的范围外。
查询x的值在2、4、6范围外的数据,如下面的代码所示:
db.things.find({x:{$nin:[2,4,6]}});
接下来举一个实际的例子,c1表的数据如下面的代码所示:
>db.c1.find() {"_id":ObjectId("4fb4af85afa87dc1bed94330"),"age":7,"length_1":30} {"_id":ObjectId("4fb4af89afa87dc1bed94331"),"age":8,"length_1":30} {"_id":ObjectId("4fb4af8cafa87dc1bed94332"),"age":6,"length_1":30}
查询age的值在7、8范围外的数据,如下面的代码所示:
>db.c1.find({age:{$nin:[7,8]}}) {"_id":ObjectId("4fb4af8cafa87dc1bed94332"),"age":6,"length_1":30}
通过结果可以看出只显示age不等于7或8的数据,其他不符合规则的数据并没有显示出来。