Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Bulk.find.updateOne() (método mongosh)

Dica

O MongoDB também fornece o método Mongo.bulkWrite() para executar operações de gravação em massa.

Bulk.find.updateOne(<update>)

Adiciona uma única operação de atualização de documento a uma lista de operações em massa.

Use the Bulk.find() method to specify the condition that determines which document to update. The Bulk.find.updateOne() method limits the update to a single document. To update multiple documents, see Bulk.find.update().

Bulk.find.updateOne() aceita o seguinte parâmetro:

Parâmetro
Tipo
Descrição

documento ou pipeline

As modificações a serem aplicadas. Podem ser uma dos seguintes:

Para obter mais informações sobre o parâmetro de modificação de atualização, consulte a página de referência db.collection.updateOne().

A soma do documento <query> associado do Bulk.find() e do documento de atualização deve ser menor ou igual ao tamanho máximo do documento BSON.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

Se o documento <update> contiver apenas expressões de operador de atualização , como em:

{
$set: { status: "D" },
$inc: { points: 2 }
}

Then, Bulk.find.updateOne() updates only the corresponding fields, status and points, in the document.

The following example initializes a Bulk() operations builder for the items collection, and adds various updateOne() operations to the list of operations.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).updateOne( { $set: { status: "I", points: "0" } } );
bulk.execute();

Os métodos de atualização podem aceitar um pipeline de agregação. Por exemplo, os seguintes usos:

  • o estágio $set, que pode fornecer um comportamento semelhante à expressão do operador de atualização $set,

  • A variável de agregação NOW, que produz a data/hora atual e pode fornecer comportamento semelhante a uma expressão de operador de atualização$currentDate. Para acessar variáveis de agregação, prefixe a variável com cifrões duplos $$ e coloque entre aspas.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "P" } ).updateOne(
[
{ $set: { points: 0, lastModified: "$$NOW" } }
]
);
bulk.execute();