与
ESC
输入关键词搜索文章

Mongodb操作符$exists包含或不包含某个字段

全文约 369 字预计阅读 2 分钟
$exists语法 { "field": { "$exists": <boolean> } } 说明 当<boolean>的值为true时,则匹配数据库中含有field这个字段的文档,也包括field这个字段为空的文档。如果<boolean>的值为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 }
Mongodb操作符$exists包含或不包含某个字段
分享

发表评论

评论 0 条

暂无评论,来说点什么吧。