$nor
定义
示例
$nor
查询包含两个表达式
考虑以下仅使用 $nor
操作符的查询
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
此查询将返回所有包含以下条件的文档:
包含
price
字段且其值不等于1.99
的文档,并且包含sale
字段且其值不等于true
或包含
price
字段且其值不等于1.99
但不包含sale
字段 或不包含
price
字段 但 包含sale
字段且其值不等于true
或不包含
price
字段 并且 不包含sale
字段
$nor
和其他比较
考虑以下查询
db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] } )
此查询将选择 inventory
集合中所有满足以下条件的文档:
price
字段值不等于1.99
并且字段值
qty
不小于20
并且字段值
sale
不等于true
包括那些不包含这些字段(们)的文档。
$nor
和 $exists
与以下使用 $nor
操作符和 $exists
操作符的查询进行比较
db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } }, { sale: true }, { sale: { $exists: false } } ] } )
此查询将返回所有包含以下条件的文档:
包含字段
price
的值不等于1.99
,并且包含字段sale
的值不等于true