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.
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
pricecujo valor não for igual a1.99e contiverem o camposalecujo valor não for igual atrue