Update
Em MongoDB, você pode usar o método update() para modificar documentos em uma coleção. O método update() permite que você atualize um ou vários documentos que atendam a um critério de consulta específico. A sintaxe básica para o método update() é a seguinte:
db.collection.update(
<critério de consulta>,
<documento de atualização>,
{
<opções>
}
)
<critério de consulta>: Especifica os documentos que serão atualizados com base em determinados critérios. Por exemplo,{ name: "Alice" }seleciona documentos onde o camponameé igual a “Alice”.<documento de atualização>: Especifica as alterações que você deseja fazer no(s) documento(s) correspondente(s) ao critério de consulta. Você pode usar operadores de atualização para modificar campos específicos do documento.<opções>: Parâmetros opcionais que controlam o comportamento da operação de atualização, comomultipara atualizar múltiplos documentos que atendem ao critério (o padrão éfalse) eupsertpara inserir um novo documento se nenhum documento for encontrado pelo critério de consulta (o padrão éfalse).
Aqui estão alguns exemplos de como usar o método update():
Atualizar um Documento:
// Atualiza o campo 'age' para 35 no documento onde 'name' é igual a 'Alice'
db.users.update({ name: "Alice" }, { $set: { age: 35 } })
Neste exemplo, $set é um operador de atualização que define o valor do campo age como 35 no documento que corresponde ao critério de consulta { name: "Alice" }.
Atualizar Múltiplos Documentos:
// Atualiza o campo 'status' para 'ativo' em todos os documentos onde 'age' é maior que 25
db.users.update({ age: { $gt: 25 } }, { $set: { status: "ativo" } }, { multi: true })
Neste exemplo, { multi: true } é passado como uma opção para garantir que todos os documentos que atendem ao critério de consulta { age: { $gt: 25 } } sejam atualizados.
Atualizar com Operadores de Incremento:
// Incrementa o campo 'score' em 10 para o documento onde 'name' é igual a 'Bob'
db.users.update({ name: "Bob" }, { $inc: { score: 10 } })
Neste exemplo, $inc é um operador de atualização que incrementa o valor do campo score em 10.
Atualizar com Upsert:
// Atualiza o campo 'count' para 1 onde 'name' é igual a 'Eva'; se não houver correspondência, insere um novo documento com 'name' igual a 'Eva' e 'count' igual a 1
db.users.update({ name: "Eva" }, { $set: { count: 1 } }, { upsert: true })
Neste exemplo, { upsert: true } é passado como uma opção para indicar que um novo documento deve ser inserido se nenhum documento corresponder ao critério de consulta.
Lembre-se de que o método update() foi substituído pelo método updateOne() para atualizar um único documento e updateMany() para atualizar vários documentos. O uso dos métodos updateOne() e updateMany() é recomendado para melhor clareza e para evitar confusões na lógica de atualização.
