$nor
定义
示例
$nor
使用两个表达式进行查询
考虑以下仅使用 $nor
操作符的查询:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
该查询将返回满足以下条件的所有文档:
包含值不 等于
1.99
的price
字段,并包含值不 为true
的sale
字段或包含值不等于
1.99
的price
字段,但不包含sale
字段,或者不包含
price
字段,但包含值不等于true
的sale
字段,或者不包含
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 } } ] } )
该查询将返回满足以下条件的所有文档:
包含值不等于
1.99
的price
字段,并包含值不为true
的sale
字段