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.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

Operações de gravação em massa

Neste guia, você aprenderá a executar várias operações de gravação em uma única chamada de banco de dados de dados usando operações de gravação em massa.

Considere um cenário no qual você deseja inserir um documento em uma coleção, atualizar vários outros documentos e, em seguida, excluir um documento. Se você usar funções individuais, cada operação exigirá sua própria chamada de banco de dados . Em vez disso, você pode usar uma operação em massa para reduzir o número de chamadas para o banco de dados.

O driver C fornece duas APIs de gravação em massa: mongoc_bulkwrite_t e mongoc_bulk_operation_t.

Observação

Se você estiver usando o MongoDB Server 8.0 ou posterior, recomendamos que você use mongoc_bulkwrite_t. Ele pode executar operações em várias collections ou bancos de dados em uma chamada, enquanto mongoc_bulk_operation_t pode direcionar apenas uma collection por chamada.

Os exemplos neste guia utilizam a coleção do restaurants no banco de dados do sample_restaurants a partir do conjunto de dados de amostra do Atlas. Para saber como criar um cluster MongoDB Atlas gratuito e carregar os conjuntos de dados de amostra, consulte o guia MongoDB Get Started.

As operações de gravação em massa contêm uma ou mais operações de gravação. Para usar uma gravação em massa, crie o tipo de gravação em massa, chame a função de anexação correspondente para cada operação que você deseja executar e, em seguida, execute a gravação em massa.

Para criar uma operação de escrita em massa, chame a função mongoc_client_bulkwrite_new(). Esta função retorna um valor do tipo mongoc_bulkwrite_t que você pode utilizar para armazenar instruções sobre quais operações de escrita você deseja executar. Passe um valor mongoc_client_t como parâmetro para especificar o cliente para a escrita em massa.

mongoc_bulkwrite_t *bulk = mongoc_client_bulkwrite_new(client);

Você pode anexar operações de inserção, atualização, substituição e exclusão ao seu valor mongoc_bulkwrite_t.

Para executar uma operação de inserção, adicione as instruções de inserção ao valor mongoc_bulkwrite_t, que enfileira a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulkwrite_append_insertone(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

self

O valor mongoc_bulkwrite_t ao qual anexar a operação.

ns

O namespace no qual inserir o documento , especificado como <database>.<collection>.

document

O documento a inserir.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Recebe detalhes de erro se a função retornar false.

O exemplo a seguir anexa uma operação de inserção à escrita em massa:

bson_t *insert_doc = BCON_NEW(
"name", BCON_UTF8("Mongo's Deli"),
"cuisine", BCON_UTF8("Sandwiches"),
"borough", BCON_UTF8("Manhattan"),
"restaurant_id", BCON_UTF8("1234")
);
bson_error_t error;
if (!mongoc_bulkwrite_append_insertone(
bulk, "sample_restaurants.restaurants", insert_doc, NULL, &error)) {
fprintf(stderr, "Failed to add insert operation: %s\n", error.message);
}
bson_destroy(insert_doc);

Para inserir vários documentos, chame a função mongoc_bulkwrite_append_insertone() para cada documento.

Para executar uma operação de atualização, adicione as instruções de atualização ao valor mongoc_bulkwrite_t, que classifica a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulkwrite_append_updateone(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

self

O valor mongoc_bulkwrite_t ao qual anexar a operação.

ns

O namespace contendo os documentos para atualizar, especificado como <database>.<collection>.

filter

O filtro de query que seleciona o documento a ser atualizado.

update

A atualização a ser aplicada ao documento correspondente.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Recebe detalhes de erro se a função retornar false.

O exemplo a seguir anexa uma operação de atualização à escrita em massa:

bson_t *filter_doc = BCON_NEW("name", BCON_UTF8("Mongo's Deli"));
bson_t *update_doc = BCON_NEW("$set", "{", "cuisine", BCON_UTF8("Sandwiches and Salads"), "}");
bson_error_t error;
if (!mongoc_bulkwrite_append_updateone(
bulk, "sample_restaurants.restaurants", filter_doc, update_doc, NULL, &error)) {
fprintf(stderr, "Failed to add update operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(update_doc);

Para atualizar vários documentos, chame a função mongoc_bulkwrite_append_updatemany() e passe os parâmetros mostrados no exemplo anterior. Isso instrui o driver a atualizar todos os documentos que correspondem ao seu filtro de consulta.

O exemplo a seguir anexa uma operação de atualização de muitos à escrita em massa:

bson_t *filter_doc = BCON_NEW("name", BCON_UTF8("Mongo's Deli"));
bson_t *update_doc = BCON_NEW("$set", "{", "cuisine", BCON_UTF8("Sandwiches and Salads"), "}");
bson_error_t error;
if (!mongoc_bulkwrite_append_updatemany(
bulk, "sample_restaurants.restaurants", filter_doc, update_doc, NULL, &error)) {
fprintf(stderr, "Failed to add update operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(update_doc);

Uma operação de substituição remove todos os campos e valores de um documento especificado e os substitui por novos. Para executar uma operação de substituição, adicione as instruções de substituição ao valor mongoc_bulkwrite_t, que classifica a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulkwrite_append_replaceone(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

self

O valor mongoc_bulkwrite_t ao qual anexar a operação.

ns

O namespace contendo os documentos a serem substituídos, especificado como <database>.<collection>.

filter

O filtro de consulta que seleciona o documento para substituir.

replacement

O documento que substitui o documento correspondente .

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Recebe detalhes de erro se a função retornar false.

O exemplo a seguir anexa uma operação de substituição à escrita em massa:

bson_t *filter_doc = BCON_NEW("restaurant_id", BCON_UTF8("1234"));
bson_t *replace_doc = BCON_NEW(
"name", BCON_UTF8("Mongo's Deli"),
"cuisine", BCON_UTF8("Sandwiches and Salads"),
"borough", BCON_UTF8("Brooklyn"),
"restaurant_id", BCON_UTF8("5678")
);
bson_error_t error;
if (!mongoc_bulkwrite_append_replaceone(
bulk, "sample_restaurants.restaurants", filter_doc, replace_doc, NULL, &error)) {
fprintf(stderr, "Failed to add replace operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(replace_doc);

Para substituir vários documentos, chame a função mongoc_bulkwrite_append_replaceone() para cada documento.

Para executar uma operação de exclusão, adicione as instruções de exclusão ao valor mongoc_bulkwrite_t, que enfileira a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulkwrite_append_deleteone(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

self

O valor mongoc_bulkwrite_t ao qual anexar a operação.

ns

O namespace contendo os documentos a serem excluídos, especificado como <database>.<collection>.

filter

O filtro de query que seleciona o documento a ser excluído.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Recebe detalhes de erro se a função retornar false.

O exemplo a seguir anexa uma operação de exclusão à escrita em massa:

bson_t *filter_doc = BCON_NEW("name", BCON_UTF8("Mongo's Deli"));
bson_error_t error;
if (!mongoc_bulkwrite_append_deleteone(
bulk, "sample_restaurants.restaurants", filter_doc, NULL, &error)) {
fprintf(stderr, "Failed to add delete operation: %s\n", error.message);
}
bson_destroy(filter_doc);

Para excluir vários documentos, chame a função mongoc_bulkwrite_append_deletemany() e passe os parâmetros mostrados no exemplo anterior. Isso instrui o driver a excluir todos os documentos que correspondem ao seu filtro de query.

O exemplo a seguir anexa uma operação de exclusão de muitos:

bson_t *filter_doc = BCON_NEW("borough", BCON_UTF8("Manhattan"));
bson_error_t error;
if (!mongoc_bulkwrite_append_deletemany(
bulk, "sample_restaurants.restaurants", filter_doc, NULL, &error)) {
fprintf(stderr, "Failed to add delete operation: %s\n", error.message);
}
bson_destroy(filter_doc);

A função mongoc_bulkwrite_execute() aceita os seguintes parâmetros:

Parâmetro
Descrição

self

O valor mongoc_bulkwrite_t que contém as instruções para cada operação de gravação.

opts

Configurações opcionais para personalizar a operação ou NULL.

Se a operação for bem-sucedida, a função retornará um valor mongoc_bulkwritereturn_t que contém os resultados da operação. Caso contrário, o valor de retorno incluirá um valor mongoc_bulkwriteexception_t com os detalhes de erro.

O exemplo a seguir mostra como escrever documentos em massa:

bson_error_t error;
mongoc_bulkwrite_t *bulk = mongoc_client_bulkwrite_new(client);
bson_t *insert_doc = BCON_NEW(
"<field name 1>", BCON_UTF8("<value 1>"),
"<field name 2>", BCON_UTF8("<value 2>"),
"<field name 3>", BCON_UTF8("<value 3>"),
"<field name 4>", BCON_UTF8("<value 4>")
);
mongoc_bulkwrite_append_insertone(
bulk, "sample_restaurants.restaurants", insert_doc, NULL, &error);
bson_destroy(insert_doc);
bson_t *query = BCON_NEW("<field to match>", BCON_UTF8("<value to match>"));
bson_t *update = BCON_NEW("$set", "{", "<field name>", BCON_UTF8("<value>"), "}");
mongoc_bulkwrite_append_updateone(
bulk, "sample_restaurants.restaurants", query, update, NULL, &error);
bson_destroy(query);
bson_destroy(update);
mongoc_bulkwritereturn_t result = mongoc_bulkwrite_execute(bulk, NULL);
if (result.exc) {
if (mongoc_bulkwriteexception_error(result.exc, &error)) {
fprintf(stderr, "Bulk write error: %s\n", error.message);
}
}
mongoc_bulkwriteresult_destroy(result.res);
mongoc_bulkwriteexception_destroy(result.exc);
mongoc_bulkwrite_destroy(bulk);

O exemplo a seguir chama a função mongoc_bulkwrite_execute() para executar as operações de inserção, atualização, substituição e exclusão.

bson_error_t error;
mongoc_bulkwritereturn_t result = mongoc_bulkwrite_execute(bulk, NULL);
if (result.exc) {
if (mongoc_bulkwriteexception_error(result.exc, &error)) {
fprintf(stderr, "Bulk write error: %s\n", error.message);
}
} else if (result.res) {
printf("Inserted: %" PRId64 " document(s)\n",
mongoc_bulkwriteresult_insertedcount(result.res));
printf("Matched: %" PRId64 " document(s)\n",
mongoc_bulkwriteresult_matchedcount(result.res));
printf("Modified: %" PRId64 " document(s)\n",
mongoc_bulkwriteresult_modifiedcount(result.res));
printf("Deleted: %" PRId64 " document(s)\n",
mongoc_bulkwriteresult_deletedcount(result.res));
}
mongoc_bulkwriteresult_destroy(result.res);
mongoc_bulkwriteexception_destroy(result.exc);

Se alguma operação de gravação falhar, o driver C relatará os erros no valor de retorno e não executará mais nenhuma operação.

O exemplo a seguir cria um valor mongoc_bulkwriteopts_t, define ordered como false e passa as opções para mongoc_bulkwrite_execute():

mongoc_bulkwriteopts_t *opts = mongoc_bulkwriteopts_new();
mongoc_bulkwriteopts_set_ordered(opts, false);
mongoc_bulkwrite_t *bulk = mongoc_client_bulkwrite_new(client);
// Perform bulk operation
mongoc_bulkwritereturn_t result = mongoc_bulkwrite_execute(bulk, opts);
mongoc_bulkwriteresult_destroy(result.res);
mongoc_bulkwriteexception_destroy(result.exc);
mongoc_bulkwriteopts_destroy(opts);
mongoc_bulkwrite_destroy(bulk);

Se qualquer uma das operações de gravação em uma gravação em massa não ordenada falhar, o driver C relatará os erros somente depois de tentar todas as operações.

Observação

Operações em massa não ordenadas não garantem ordem de execução. A ordem pode ser diferente da forma como você os lista para otimizar o tempo de execução.

A tabela seguinte descreve as opções que você pode especificar no valor mongoc_bulkwriteopts_t para uma operação de gravação em massa:

Opção
Descrição

ordered

Se true, o driver executa as operações de gravação na ordem fornecida. Se ocorrer um erro, as operações restantes não serão tentadas.

Se false, o driver executa as operações em uma ordem arbitrária e tenta executar todas as operações.
O padrão é true.

bypassdocumentvalidation

Se true, permite que as operações de gravação desativem a validação em nível de documento.

writeconcern

Especifica a preocupação de gravação para a operação em massa. Para obter mais informações, consulte Write Concern no manual do MongoDB Server .

comment

Anexa um comentário à operação. Para obter mais informações, consulte o guia de campos de comando de exclusão no manual do MongoDB Server .

let

Especifica um documento com uma lista de valores para melhorar a legibilidade da operação. Os valores devem ser expressões constantes ou fechadas que não façam referência aos campos do documento . Para obter mais informações, consulte a declaração let no manual do MongoDB Server .

verboseresults

Se true, os resultados retornados incluirão resultados detalhados para cada operação bem-sucedida.

Observação

Use mongoc_bulk_operation_t quando estiver usando uma versão do driver C anterior a 1.28.0, direcionando uma versão do MongoDB Server anterior a 8.0, ou só precisa de gravações de coleção única.

As operações de gravação em massa contêm uma ou mais operações de gravação. Para usar uma gravação em massa, crie o tipo de gravação em massa, chame a função de anexação correspondente para cada operação que você deseja executar e, em seguida, execute a gravação em massa.

Antes de executar uma operação de gravação em massa, chame a função mongoc_collection_create_bulk_operation_with_opts(). Esta função retorna um valor do tipo mongoc_bulk_operation_t que você pode usar para armazenar instruções sobre quais gravações em massa devem ser executadas.

A função mongoc_collection_create_bulk_operation_with_opts() aceita os seguintes parâmetros:

Parâmetro
Descrição

collection

A collection para modificar.

opts

Opções para personalizar a operação ou NULL.

O exemplo a seguir chama a função mongoc_collection_create_bulk_operation_with_opts(), passando a coleção de restaurantes como parâmetro:

mongoc_bulk_operation_t *bulk =
mongoc_collection_create_bulk_operation_with_opts(collection, NULL);

Você pode anexar operações de inserção, atualização, substituição e exclusão ao seu valor mongoc_bulk_operation_t.

Para executar uma operação de inserção, adicione as instruções de inserção ao valor mongoc_bulk_operation_t, que enfileira a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulk_operation_insert_with_opts(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

bulk

O valor mongoc_bulk_operation_t ao qual anexar a operação.

document

O documento a inserir.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Um local opcional para um valor de erro bson_error_t.

O exemplo a seguir anexa uma operação de inserção à escrita em massa:

bson_t *insert_doc = BCON_NEW(
"name", BCON_UTF8("Mongo's Deli"),
"cuisine", BCON_UTF8("Sandwiches"),
"borough", BCON_UTF8("Manhattan"),
"restaurant_id", BCON_UTF8("1234")
);
bson_error_t error;
if (!mongoc_bulk_operation_insert_with_opts(bulk, insert_doc, NULL, &error)) {
fprintf(stderr, "Failed to add insert operation: %s\n", error.message);
}
bson_destroy(insert_doc);

Para inserir vários documentos, chame a função mongoc_bulk_operation_insert_with_opts() para cada documento.

Para executar uma operação de atualização, adicione as instruções de atualização ao valor mongoc_bulk_operation_t, que classifica a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulk_operation_update_one_with_opts(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

bulk

O valor mongoc_bulk_operation_t ao qual anexar a operação.

selector

O filtro de query que seleciona o documento a ser atualizado.

document

A atualização a ser aplicada ao documento correspondente.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Um local opcional para um valor de erro bson_error_t.

O exemplo a seguir anexa uma operação de atualização à escrita em massa:

bson_t *filter_doc = BCON_NEW("name", BCON_UTF8("Mongo's Deli"));
bson_t *update_doc = BCON_NEW("$set", "{", "cuisine", BCON_UTF8("Sandwiches and Salads"), "}");
bson_error_t error;
if (!mongoc_bulk_operation_update_one_with_opts(bulk, filter_doc, update_doc, NULL, &error)) {
fprintf(stderr, "Failed to add update operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(update_doc);

Para atualizar vários documentos, chame a função mongoc_bulk_operation_update_many_with_opts() e passe os parâmetros mostrados no exemplo anterior. Isso instrui o driver a atualizar todos os documentos que correspondem ao seu filtro de query.

O exemplo a seguir anexa uma operação de atualização de muitos à escrita em massa:

bson_t *filter_doc = BCON_NEW("name", BCON_UTF8("Mongo's Deli"));
bson_t *update_doc = BCON_NEW("$set", "{", "cuisine", BCON_UTF8("Sandwiches and Salads"), "}");
bson_error_t error;
if (!mongoc_bulk_operation_update_many_with_opts(bulk, filter_doc, update_doc, NULL, &error)) {
fprintf(stderr, "Failed to add update operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(update_doc);

Uma operação de substituição remove todos os campos e valores de um documento especificado e os substitui por novos. Para executar uma operação de substituição, adicione as instruções de substituição ao valor mongoc_bulk_operation_t, que classifica a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulk_operation_replace_one_with_opts(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

bulk

O valor mongoc_bulk_operation_t ao qual anexar a operação.

selector

O filtro de consulta que seleciona o documento para substituir.

document

O documento que substitui o documento correspondente .

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Um local opcional para um valor de erro bson_error_t.

O exemplo a seguir anexa uma operação de substituição à escrita em massa:

bson_t *filter_doc = BCON_NEW("restaurant_id", BCON_UTF8("1234"));
bson_t *replace_doc = BCON_NEW(
"name", BCON_UTF8("Mongo's Deli"),
"cuisine", BCON_UTF8("Sandwiches and Salads"),
"borough", BCON_UTF8("Brooklyn"),
"restaurant_id", BCON_UTF8("5678")
);
bson_error_t error;
if (!mongoc_bulk_operation_replace_one_with_opts(bulk, filter_doc, replace_doc, NULL, &error)) {
fprintf(stderr, "Failed to add replace operation: %s\n", error.message);
}
bson_destroy(filter_doc);
bson_destroy(replace_doc);

Para substituir vários documentos, chame a função mongoc_bulk_operation_replace_one_with_opts() para cada documento.

Para executar uma operação de exclusão, adicione as instruções de exclusão ao valor mongoc_bulk_operation_t, que enfileira a operação como parte da gravação em massa.

O exemplo a seguir chama a função mongoc_bulk_operation_remove_one_with_opts(). Esta função aceita os seguintes parâmetros:

Parâmetro
Descrição

bulk

O valor mongoc_bulk_operation_t ao qual anexar a operação.

selector

O filtro de query que seleciona o documento a ser excluído.

opts

Configurações opcionais para personalizar a operação ou NULL.

error

Um local opcional para um valor de erro bson_error_t.

O exemplo a seguir anexa uma operação de exclusão à escrita em massa:

bson_t *filter_doc = BCON_NEW("restaurant_id", BCON_UTF8("5678"));
bson_error_t error;
if (!mongoc_bulk_operation_remove_one_with_opts(bulk, filter_doc, NULL, &error)) {
fprintf(stderr, "Failed to add delete operation: %s\n", error.message);
}
bson_destroy(filter_doc);

Para excluir vários documentos, chame a função mongoc_bulk_operation_remove_many_with_opts() e passe os parâmetros mostrados no exemplo anterior. Isso instrui o driver a excluir todos os documentos que correspondem ao seu filtro de query.

O exemplo a seguir anexa uma operação delete many à escrita em massa:

bson_t *filter_doc = BCON_NEW("borough", BCON_UTF8("Manhattan"));
bson_error_t error;
if (!mongoc_bulk_operation_remove_many_with_opts(bulk, filter_doc, NULL, &error)) {
fprintf(stderr, "Failed to add delete operation: %s\n", error.message);
}
bson_destroy(filter_doc);

A função mongoc_bulk_operation_execute() aceita os seguintes parâmetros:

Parâmetro
Descrição

bulk

O valor mongoc_bulk_operation_t que contém as instruções para cada operação de gravação.

reply

Um ponteiro opcional para o armazenamento substituível para o documento de resultados, ou NULL.

error

Um local opcional para um valor de erro bson_error_t.

O exemplo a seguir mostra como escrever documentos em massa:

bson_error_t error;
mongoc_bulk_operation_t *bulk =
mongoc_collection_create_bulk_operation_with_opts(collection, NULL);
bson_t *insert_doc = BCON_NEW(
"<field name>", BCON_UTF8("<value>"),
"<field name>", BCON_UTF8("<value>"),
"<field name>", BCON_UTF8("<value>"),
"<field name>", BCON_UTF8("<value>")
);
mongoc_bulk_operation_insert(bulk, insert_doc);
bson_destroy(insert_doc);
bson_t *query = BCON_NEW("<field to match>", BCON_UTF8("<value to match>"));
bson_t *update = BCON_NEW("$set", "{", "<field name>", BCON_UTF8("<value>"), "}");
mongoc_bulk_operation_update_one(bulk, query, update, false);
bson_destroy(query);
bson_destroy(update);
bool result = mongoc_bulk_operation_execute(bulk, NULL, &error);
if (!result) {
fprintf(stderr, "Bulk operation error: %s\n", error.message);
}
mongoc_bulk_operation_destroy(bulk);

O exemplo a seguir chama a função mongoc_bulk_operation_execute() para executar as operações de inserção, atualização, substituição e exclusão.

bson_error_t error;
bool result = mongoc_bulk_operation_execute(bulk, NULL, &error);
if (!result) {
printf("Bulk operation error: %s\n", error.message);
}
mongoc_bulk_operation_destroy(bulk);

Se alguma operação de gravação falhar, o driver C definirá o parâmetro de saída error e não executará mais nenhuma operação.

Você pode modificar o comportamento da função mongoc_collection_create_bulk_operation_with_opts() passando um documento BSON que especifica os valores das opções.

O exemplo a seguir chama a função mongoc_collection_create_bulk_operation_with_opts() e define a opção ordered como false:

bson_t opts;
BSON_APPEND_BOOL(&opts, "ordered", false);
bulk = mongoc_collection_create_bulk_operation_with_opts(collection, &opts);
// Perform bulk operation
bson_destroy(&opts);
mongoc_bulk_operation_destroy(bulk);

Se qualquer uma das operações de gravação em uma gravação em massa não ordenada falhar, o driver C relatará os erros somente depois de tentar todas as operações.

Observação

Operações em massa não ordenadas não garantem ordem de execução. A ordem pode ser diferente da forma como você os lista para otimizar o tempo de execução.

A tabela a seguir descreve as opções que você pode especificar no documento de opções que você passa para mongoc_collection_create_bulk_operation_with_opts():

Opção
Descrição

ordered

Se true, o driver executa as operações de gravação na ordem fornecida. Se ocorrer um erro, as operações restantes não serão tentadas.

Se false, o driver executa as operações em uma ordem arbitrária e tenta executar todas as operações.
O padrão é true.

writeConcern

Especifica a preocupação de gravação para a operação em massa. Para obter mais informações, consulte Write Concern no manual do MongoDB Server .

sessionId

Executa as operações em massa dentro da sessão especificada. Para obter mais informações, consulte Sessões do servidor no manual do MongoDB Server.

comment

Anexa um comentário à operação. Para obter mais informações, consulte o guia de campos de comando de exclusão no manual do MongoDB Server .

let

Especifica um documento com uma lista de valores para melhorar a legibilidade da operação. Os valores devem ser expressões constantes ou fechadas que não façam referência aos campos do documento . Para obter mais informações, consulte a declaração let no manual do MongoDB Server .

Para saber como realizar operações de escrita individuais, consulte os seguintes guias:

Para saber mais sobre qualquer uma das funções ou tipos discutidos neste guia, consulte a seguinte documentação da API: