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

Exclua documentos

Neste guia, você pode aprender como usar o driver C para remover documentos de uma coleção MongoDB realizando operações de exclusão.

Uma operação de exclusão remove um ou mais documentos de uma collection do MongoDB . Você pode executar uma operação de exclusão utilizando as funções mongoc_collection_delete_one() ou mongoc_collection_delete_many().

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.

Você pode executar operações de exclusão usando as seguintes funções:

  • mongoc_collection_delete_one(), que exclui o primeiro documento que corresponde aos critérios do Atlas Search

  • mongoc_collection_delete_many(), que exclui todos os documentos que correspondem aos critérios do Atlas Search

Cada função de exclusão aceita os seguintes parâmetros:

  • Collection: especifica a collection a ser modificada.

  • documento de filtro de query : especifica quais documentos de coleção excluir. Para obter mais informações sobre filtros de query, consulte a seção Documentos de filtro de query no manual do MongoDB Server .

  • Localização dos resultados: especifica um ponteiro para o armazenamento substituível que conterá os resultados da operação NULL ou.

  • Localização do erro: especifica um local para um valor de erro NULL ou.

Use a seguinte sintaxe para excluir um documento:

bson_t *filter = BCON_NEW("<field name>", BCON_UTF8("<value>"));
bson_error_t error;
if (!mongoc_collection_delete_one(collection, filter, NULL, NULL, &error)) {
fprintf(stderr, "Delete error: %s\n", error.message);
}
bson_destroy(filter);

O exemplo a seguir usa a função mongoc_collection_delete_one() para remover um documento na coleção restaurants que tem um valor name de "Ready Penny Inn":

bson_t *filter = BCON_NEW("name", BCON_UTF8("Ready Penny Inn"));
bson_error_t error;
if (!mongoc_collection_delete_one(collection, filter, NULL, NULL, &error)) {
printf("Delete error: %s\n", error.message);
}
bson_destroy(filter);

Use a seguinte sintaxe para excluir vários documentos:

bson_t *filter = BCON_NEW("<field name>", BCON_UTF8("<value>"));
bson_error_t error;
if (!mongoc_collection_delete_many(collection, filter, NULL, NULL, &error)) {
fprintf(stderr, "Delete error: %s\n", error.message);
}
bson_destroy(filter);

O exemplo seguinte utiliza a função mongoc_collection_delete_many() para remover todos os documentos na collection restaurants que têm um valor borough de "Brooklyn":

bson_t *filter = BCON_NEW("borough", BCON_UTF8("Brooklyn"));
bson_error_t error;
if (!mongoc_collection_delete_many(collection, filter, NULL, NULL, &error)) {
printf("Delete error: %s\n", error.message);
}
bson_destroy(filter);

Você pode modificar o comportamento das funções mongoc_collection_delete_one() e mongoc_collection_delete_many() passando um documento BSON que especifica os valores das opções. A tabela a seguir descreve algumas opções que você pode definir no documento:

Campo
Descrição

collation

Especifica o tipo de agrupamento de linguagem a ser usado ao comparar texto. Para obter mais informações, consulte agrupamentos no manual do MongoDB Server.
Tipo: bson_t

writeConcern

Define o write concern para a operação.
padrão para o write concern do namespace.
Tipo: mongoc_write_concern_t

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.
Tipo: bson_t

comment

Um comentário a ser anexado à operação. Para obter mais informações, consulte o guia inserir campos de comando no manual do MongoDB Server.
Tipo: bson_value_t

O exemplo seguinte chama a função mongoc_collection_delete_many() para excluir todos os documentos na coleção restaurants que têm um valor de name contendo a string "Mongo". Ele também define a opção comment para adicionar um comentário à operação:

bson_t *filter = BCON_NEW("name", "{", "$regex", BCON_UTF8("Mongo"), "}");
bson_error_t error;
bson_t opts;
bson_init(&opts);
BCON_APPEND(&opts, "comment", BCON_UTF8("Deleting Mongo restaurants"));
if (!mongoc_collection_delete_many(collection, filter, &opts, NULL, &error)) {
printf("Delete error: %s\n", error.message);
}
bson_destroy(filter);
bson_destroy(&opts);

Dica

Se você usar a função mongoc_collection_delete_one() em vez de mongoc_collection_delete_many() no exemplo anterior, o driver excluirá apenas o primeiro documento com valor de name contendo "Mongo".

Para saber mais sobre qualquer uma das funções discutidas nesta guia, consulte a seguinte documentação da API: