$inc (Incrementar)

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

$inc (Incrementar)

$inc aumenta (ou diminui) um campo numérico em uma quantidade especificada, criando o campo com o incremento se ele não existir. `{ $inc: { views: 1 } }` adiciona 1 a views; `{ $inc: { stock: -5 } }` subtrai 5. É atômico, ideal para contadores e contagens de visualização, evitando corridas de leitura-modificação-escrita.

CategoriaAtualização de Campo
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $inc: { <campo>: <quantia> } }

▶ Exemplo

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

// $inc: views +1, stock -5
db.articles.updateOne(
  { _id: 1 },
  { $inc: { views: 1 } }
)
db.products.updateOne(
  { _id: 2 },
  { $inc: { stock: -5 } }
)

Saída:

// Quando o campo está ausente: views é criado como 1; stock diminui em 5

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$inc pode operar em strings?
ANão. $inc aceita apenas tipos numéricos; usá-lo em strings gera erro. Para concatenação de strings use $concat (agregação) ou leitura-escrita manual.
QO que acontece quando $inc atinge um campo ausente?
ASe o campo não existe, $inc trata o valor inicial como 0 e cria o campo com a quantia do incremento. O campo deve ser numérico ou um erro será gerado.
Q$inc pode decrementar um valor?
ASim, passe uma quantia negativa, ex.: { $inc: { score: -5 } } decrementa score em 5. $inc é atômico, ideal para contadores e rankings sob concorrência.
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%