Docs 菜单
Docs 主页
/
MongoDB Manual
/ / / /

$nor

在此页面上

  • 定义
  • 示例
$nor

$nor 对包含一个或多个查询谓词的数组执行逻辑 NOR 操作,并选择数组中所有查询谓词均未通过的文档。$nor 的语法如下:

{ $nor: [ { <expression1> }, { <expression2> }, ... { <expressionN> } ] }

考虑以下仅使用 $nor 操作符的查询:

db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )

该查询将返回满足以下条件的所有文档:

  • 包含值 等于 1.99price 字段,并包含值truesale 字段

  • 包含值等于 1.99price 字段,但包含 sale 字段,或者

  • 包含 price 字段,但包含值等于 truesale字段,或者

  • 包含 price 字段,也包含 sale 字段

考虑以下查询:

db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] } )

该查询选择 inventory 集合中满足如下条件的所有文档:

  • price 字段值等于 1.99 并且

  • qty 字段值小于 20 并且

  • sale 字段值不等于 true

包括那些不包含这些字段的文档。

返回不包含$nor表达式中的字段的文档的例外情况是当$nor操作符与 $exists操作符一起使用时。

将其与以下使用 $nor 操作符和 $exists 操作符的查询比较:

db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } },
{ sale: true }, { sale: { $exists: false } } ] } )

该查询将返回满足以下条件的所有文档:

  • 包含值等于 1.99price 字段,并包含值truesale 字段

提示

另请参阅:

后退

$not

在此页面上