On this page
$exists
在本页面
Definition
$exists
- 语法:
{ field: { $exists: <boolean> } }
- 语法:
当<boolean>
为 true 时,$exists匹配包含该字段的文档,包括字段值为null
的文档。如果<boolean>
为 false,则查询仅返回不包含该字段的文档。
MongoDB $ exists 不对应于 SQL 运算符exists
。对于 SQL exists
,请参考$in运算符。
See also
Examples
存在且不等于
考虑以下示例:
db.inventory.find( { qty: { $exists: true, $nin: [ 5, 15 ] } } )
该查询将选择inventory
集合中qty
字段存在的所有文档,并且*其值不等于5
或15
。
Null Values
以下示例使用名为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
以下查询指定查询谓词a: { $exists: true }
:
db.records.find( { a: { $exists: true } } )
结果由包含字段a
的那些文档组成,包括其字段a
包含空值的文档:
{ 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
以下查询指定查询谓词b: { $exists: false }
:
db.records.find( { b: { $exists: false } } )
结果由不包含字段b
的那些文档组成:
{ a: 2, c: 5 }
{ a: 4 }
{ c: 6 }