$replaceOne (Substituir a Primeira Correspondência)

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

$replaceOne (Substituir a Primeira Correspondência)

$replaceOne substitui a primeira ocorrência de uma substring em uma string por uma substituição fornecida — útil para correções de erros de digitação ou trocas de prefixo. find deve ser uma string não vazia, ou gera erro; quando find não ocorre, a entrada é retornada inalterada. É uma substituição literal, sem suporte a regex — use $regexReplace para padrões. Entrada null ou ausente resulta em null.

CategoriaString
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $replaceOne: { input: <expressão de string>, find: <procura>, replacement: <substituição> } }

⚙️ Parâmetros

inputObrigatório; a string a processar.
findObrigatório; uma string de pesquisa não vazia.
replacementObrigatório; a string de substituição.

Retorno:A string substituída; null se a entrada for null.

▶ Exemplo

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

// $replaceOne: corrigir um erro de digitação nos corpos das postagens
db.posts.aggregate([
  { $project: { fixed: { $replaceOne: { input: '$body', find: 'teh', replacement: 'the' } } } }
])

Saída:

{ "_id": 1, "fixed": "the quick brown fox" }
{ "_id": 2, "fixed": "no typo here" }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QPode substituir todas as ocorrências?
ANão — use $replaceAll para todas as ocorrências.
Qfind pode ser uma string vazia?
ANão — ele gera erro.
QSuporta regex?
ANão — use $regexReplace para substituição por 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%