Menu Docs
Página inicial do Docs
/ / /
Driver C
/

Exclua documentos

Nesta página

  • Visão geral
  • Dados de amostra
  • Excluir operações
  • Excluir um documento
  • Excluir vários documentos
  • Personalizar a operação de exclusão
  • Documentação da API

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 de dados do sample_restaurants a partir dos conjuntos 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 Iniciar com Atlas .

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:

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

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
Specifies the kind of language collation to use when comparing text. For more information, see Collation in the MongoDB Server manual.
Type: bson_t
writeConcern
Sets the write concern for the operation.
Defaults to the write concern of the namespace.
Type: mongoc_write_concern_t
let
Specifies a document with a list of values to improve operation readability. Values must be constant or closed expressions that don't reference document fields. For more information, see the let statement in the MongoDB Server manual.
Type: bson_t
comment
A comment to attach to the operation. For more information, see the insert command fields guide in the MongoDB Server manual.
Type: 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:

Voltar

Atualize documentos