$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