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
pricecujo valor for não igual a1.99e contiverem o camposalecujo valor não for igual atrueoucontiverem o campo
pricecujo valor não for igual a1.99, mas não contiverem o camposaleounão contiverem o campo
price, mas contiverem o camposalecujo valor não for igual atrueounão contiverem o campo
pricee 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
pricenão for igual a1.99eo valor do campo
qtynão for inferior a20eo valor do campo
salenão for igual atrue
incluindo os documentos que não contiverem esses campos.
Para documentos de retorno que não contêm o campo na expressão $nor, a exceção é 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
pricecujo valor não for igual a1.99e contiverem o camposalecujo valor não for igual atrue