$exists

在本页面

Definition

<boolean>为 true 时,$exists匹配包含该字段的文档,包括字段值为null的文档。如果<boolean>为 false,则查询仅返回不包含该字段的文档。

MongoDB $ exists 不对应于 SQL 运算符exists。对于 SQL exists,请参考$in运算符。

Examples

存在且不等于

考虑以下示例:

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

该查询将选择inventory集合中qty字段存在的所有文档,并且*其值不等于515

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 }
首页