Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Bulk.find.update()

Nesta página

  • Descrição
  • Exemplo

Dica

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 o método Bulk.find() para especificar a condição que determina quais documentos atualizar. O método Bulk.find.update() atualiza todos os documentos correspondentes. Para especificar uma única atualização de documento, consulte Bulk.find.updateOne().

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

Parâmetro
Tipo
Descrição
atualizar
documento ou pipeline

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

Atualizar documento

Aggregation pipeline

Começando no MongoDB 4.2

Contém apenas os seguintes estágios de agregação:

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.

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();

A partir da versão 4.2, 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();

Dica

Veja também:

← Bulk.find.updateOne()

Nesta página