$set (Definir Campo)

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

$set (Definir Campo)

$set atribui (ou sobrescreve) o valor de um ou mais campos em um documento. Ele cria o campo se ele não existir e aceita caminhos pontilhados para campos aninhados. É o operador de atualização mais usado. `{ $set: { "price": 19.99, "inStock": true } }` define vários campos de uma vez.

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

📝 Sintaxe

{ $set: { <campo1>: <valor1>, <campo2>: <valor2>, ... } }

▶ Exemplo

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

// $set: define vários campos
db.products.updateOne(
  { _id: 1 },
  { $set: { price: 19.99, inStock: true } }
)

Saída:

// Retorna updatedCount: 1; o preço do documento vira 19.99 e inStock vira true

📌 Notas

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

Q$set e $inc podem ser usados juntos?
ASim. $set atribui um valor fixo enquanto $inc realiza aritmética; ambos podem aparecer em uma única atualização (exceto no mesmo campo).
QComo $set difere de uma atribuição simples em update?
A$set atualiza apenas os campos nomeados e deixa o restante do documento intacto. Substituir o documento inteiro exige replaceOne, que descarta quaisquer campos não especificados.
Q$set sobrescreve campos existentes?
ASim. $set sobrescreve campos existentes com o novo valor e cria os ausentes. Ele é idempotente: repetir o mesmo $set produz o mesmo resultado.
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%