$nor
在本页面
$nor
$nor对包含一个或多个查询表达式的数组执行逻辑nor操作,并选择数组中所有查询表达式失败的文档。$nor有以下语法:
{ $nor: [ { <expression1> }, { <expression2> }, ...  { <expressionN> } ] }也可以看看
例子
$nor查询有两种表述
$nor查询有两种表述考虑以下仅使用$nor操作符的查询:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ]  } )此查询将返回以下所有文档:
包含值不等于
1.99的price字段和不等于true或的sale字段包含
price字段,其值不等于1.99,但不包含sale字段不包含
price字段,但sale包含值不等于true不包含
price字段和不包含sale字段
$nor和另外的比较
$nor和另外的比较考虑以下查询:
db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] } )此查询将选择库存集合中的所有文档,其中:
price字段值不等于1.99和qty字段值不小于20和sales字段的值不等于true
包括那些不包含这些字段的文档。
返回不包含$nor表达式中字段的文档的例外情况是,$nor操作符与$exists操作符一起使用。
$nor和$exists
$nor和$exists下面的查询使用$nor操作符和$exists操作符:
db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } },
                             { sale: true }, { sale: { $exists: false } } ] } )此查询将返回以下所有文档:
包含值不等于1.99的price字段和值不等于true的sale字段
译者:李冠飞
校对:
最后更新于