MongoDB高级查询 互动版

$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]}});