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
$or →

在此页面上