$not (NÃO Lógico)

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

$not (NÃO Lógico)

$not nega uma expressão de operador, retornando documentos que falham na condição interna. `{ price: { $not: { $gt: 50 } } }` corresponde a produtos com preço de no máximo 50. $not não corresponde a documentos com o campo ausente, e exige uma expressão de operador dentro — não um literal de regex.

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

📝 Sintaxe

{ <campo>: { $not: { <expressão de operador> } } }

⚙️ Parâmetros

campoO campo do documento a corresponder.
expressão de operadorA condição de operador a negar, por exemplo { $gt: 50 }.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

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

// $not: price não maior que 50
db.products.find({ price: { $not: { $gt: 50 } } })

// Equivalente: $lte é mais direto
db.products.find({ price: { $lte: 50 } })

Saída:

// Retorna produtos com preço de no máximo 50; documentos com campo ausente são excluídos

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QQual é a diferença entre $not e $ne?
A$ne significa não-igual-a-um-valor; $not nega uma expressão de operador inteira, ex.: { $not: { $gt: 50 } }.
Q$not corresponde a documentos onde o campo está ausente?
ANão. Um campo ausente falha na condição interna, então a negação também não corresponde.
Q$not pode negar uma regex?
ASim, via { $not: { $regex: '...' } }, mas não como { $not: /padrão/ }.
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%