mongodb不等于某个值_Mongodb操作符$exists包含或不包含某个字段

$exists语法

{ “field”: { “$exists”: } }

说明

当的值为true时,则匹配数据库中含有field这个字段的文档,也包括field这个字段为空的文档。如果的值为false,那么查询只返回不包括该field该字段的文档。简单的说,$exists 就是判断一个字段是否存在。

MongoDB中的 $exists 和SQL操作符 exists 不是一个等同的概念。对于SQL的 exists ,涉及到了 $in 这个操作符的概念。

实例

查看下面的例子:

db.test.find({a:{$exists:true,$nin:[5,15]}})

上面这个查询输出test数据库中存在a这个字段,而且qty的值不等于5或15的所有文档。

存在Null值时

假设records数据库中存在如下文档:

{ a: 5, b: 5, c: null }

{ a: 3, b: null, c: 8 }

{ a: null, b: 3, c: 9 }

{ a: 1, b: 2, c: 3 }

{ a: 2, c: 5 }

{ a: 3, b: 2 }

{ a: 4 }

{ b: 2, c: 4 }

{ b: 2 }

{ c: 6 }

用 $exists: true 查询

用 $exists 操作符对字段 a 进行查询:

>db.records.find( { a: { $exists: true } } )

上面的查询将输出包含字段 a 或者字段 a 的值为null的文档结果:

{ a: 5, b: 5, c: null }

{ a: 3, b: null, c: 8 }

{ a: null, b: 3, c: 9 }

{ a: 1, b: 2, c: 3 }

{ a: 2, c: 5 }

{ a: 3, b: 2 }

{ a: 4 }

用 $exists: false 查询

用 $exists 操作符对字段 b 进行查询:

db.records.find( { b: { $exists: false } } )

上面的查询将输出不包含字段 b 的文档:

{ a: 2, c: 5 }

{ a: 4 }

{ c: 6 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值