$nor (NEM Lógico)

Última atualização: 2026-10-09

$nor (NEM Lógico)

$nor combina predicados; um documento corresponde apenas quando nenhum deles é verdadeiro. `{ $nor: [ { price: 1.99 }, { sale: true } ] }` corresponde a produtos que não custam $1.99 nem estão em promoção — o inverso de $or. Armadilha: um campo ausente falha em cada condição, então $nor inclui silenciosamente documentos sem os campos.

CategoriaLógica
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $nor: [ { <condição1> }, { <condição2> }, ... ] }

⚙️ Parâmetros

array de condiçõesUma matriz de predicados de consulta; nenhum deles pode ser verdadeiro.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $nor: price não é 1.99 e não está em promoção
db.products.find({
  $nor: [
    { price: 1.99 },
    { sale: true }
  ]
})

Saída:

// Retorna produtos que não custam $1.99 nem estão em promoção; note que documentos sem o campo sale também correspondem

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $nor e $not?
A$nor exige que nenhum de vários predicados seja verdadeiro; $not nega uma expressão de operador.
QPor que $nor retorna documentos com o campo ausente?
AUm campo ausente não satisfaz nenhuma condição, e $nor exige que nenhuma seja satisfeita — então esses documentos são incluídos.
Q$nor pode aninhar $or?
ASim, cada elemento dentro de $nor pode ser um predicado complexo.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%