$nor
Definição
Exemplos
$nor
Query com duas expressões
Considere a seguinte query, que usa somente o operador $nor
:
db.inventory.find( { $nor: [ { price: 1.99 }, { sale: true } ] } )
Esta query retornará todos os documentos que:
contiverem o campo
price
cujo valor for não igual a1.99
e contiverem o camposale
cujo valor não for igual atrue
oucontiverem o campo
price
cujo valor não for igual a1.99
, mas não contiverem o camposale
ounão contiverem o campo
price
, mas contiverem o camposale
cujo valor não for igual atrue
ounão contiverem o campo
price
e não contiverem o camposale
$nor
e comparações adicionais
Considere a seguinte query:
db.inventory.find( { $nor: [ { price: 1.99 }, { qty: { $lt: 20 } }, { sale: true } ] } )
Esta query selecionará todos os documentos na collection inventory
onde:
o valor do campo
price
não for igual a1.99
eo valor do campo
qty
não for inferior a20
eo valor do campo
sale
não for igual atrue
incluindo os documentos que não contiverem esses campos.
A exceção em documentos de retorno que não contêm o campo na expressão $nor
é quando o operador $nor
é utilizado com o operador $exists
.
$nor
e a $exists
Compare isso com a query a seguir, que usa o operador $nor
com o operador $exists
:
db.inventory.find( { $nor: [ { price: 1.99 }, { price: { $exists: false } }, { sale: true }, { sale: { $exists: false } } ] } )
Esta query retornará todos os documentos que:
contiverem o campo
price
cujo valor não for igual a1.99
e contiverem o camposale
cujo valor não for igual atrue