$regex (Correspondência Regex)

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

$regex (Correspondência Regex)

$regex corresponde a campos de string com uma expressão regular. `{ name: { $regex: '^A' } }` corresponde a nomes que começam com A. Opções: i insensível a maiúsculas/minúsculas, m multilinha, x ignora espaços em branco. Sem um índice, uma consulta $regex varre a coleção inteira; apenas prefixos ancorados (^) com sensibilidade a maiúsculas podem aproveitar um índice normal.

CategoriaElemento e Avaliação
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ <campo>: { $regex: <padrão>, $options: '<opções>' } }

⚙️ Parâmetros

campoO campo do documento a corresponder.
regexUm padrão de expressão regular no estilo PCRE.
opçõesOpcional: i sem distinção de maiúsculas, m multilinha, x ignorar espaços, etc.

Retorno:Cursor dos documentos correspondentes

▶ Exemplo

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

// $regex: nomes que começam com A (sensível a maiúsculas)
db.users.find({ name: { $regex: '^A' } })

// Insensível a maiúsculas: título contendo mongodb
db.articles.find({ title: { $regex: 'mongodb', $options: 'i' } })

Saída:

// Retorna nomes que começam com A; e títulos que contêm mongodb em qualquer lugar (insensível a maiúsculas)

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo torno $regex insensível a maiúsculas?
AAdicione $options: 'i', ex.: { name: { $regex: 'alice', $options: 'i' } }.
Q$regex pode usar um índice?
AApenas padrões ancorados e sensíveis a maiúsculas (ex.: ^A) usam um índice normal; caso contrário, é uma varredura de coleção.
QDevo usar $regex ou $text para busca em texto completo?
APara textos grandes use $text (indexado, com stemização); $regex é adequado para dados pequenos ou padrões exatos.
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%