$nin 不包含
与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 的数据,其它不符合规则的数据并没有显示出来
在users文档中查询"age"不等于18或者20的记录:
db.users.find({age:{$nin:[18,20]}});