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.update() (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.update(<update>)

Adiciona uma operação de atualização do multi em uma lista de operações em massa. O método atualiza campos específicos em documentos existentes.

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

Bulk.find.update() 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.updateMany().

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.

O exemplo a seguir inicializa um Bulk() construtor de operações para a items coleção e adiciona várias multi operações de atualização à lista de operações.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
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" } ).update(
[
{ $set: { points: 0, lastModified: "$$NOW" } }
]
);
bulk.execute();
Avalie esta página