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

Bancos de dados e coleções

Neste guia, você verá como usar o driver Rust para acessar e managed reconhecimento de data center e collection do MongoDB.

O MongoDB organiza os dados em uma estrutura hierárquica. Um sistema do MongoDB contém um ou mais bancos de dados, e cada banco de dados contém uma ou mais collections. Em cada collection, o MongoDB armazena dados como documento que contêm pares de campo e valor.

Para saber mais sobre o formato de dados do documento , consulte Documentos no manual do servidor.

You can access a database by retrieving a Database instance from your client. You can use a Database instance to perform database-level operations and access collections that the database contains.

Call one of the following methods on a Client instance to create a Database:

Dica

Para especificar o reconhecimento de data center padrão para seu cliente, defina o campo default_database de sua estrutura ClientOptions . Se você não definir esse campo, o driver obterá o reconhecimento de data center padrão do componente defaultauthdb da string de conexão.

Se você passar o nome de um reconhecimento de data center inexistente para os métodos database() ou database_with_options() , o driver ainda retornará uma instância Database . Quando você insere qualquer dado na collection desse reconhecimento de data center, o servidor o cria.

O exemplo a seguir utiliza o método database() para acessar um banco de dados denominado test_db:

let db = client.database("test_db");

To see a list of your deployment's databases, call the list_database_names() method on your Client instance. This method returns a Vec<String> type, a vector containing the database names as strings.

To see detailed information about each database, call the list_databases() method on your Client instance. This method returns a Vec<DatabaseSpecification> type. The DatabaseSpecification type contains fields describing each database, such as its size and whether it contains data.

O seguinte exemplo mostra como imprimir uma lista de reconhecimento de data center utilizando o método list_database_names() :

let db_list = client.list_database_names(doc! {}, None).await?;
println!("{:?}", db_list);

Dropping a database permanently deletes all the data in that database's collections. To drop a database, call the drop() method on your Database instance. The following code shows how to drop a database referenced by the db variable:

db.drop(None).await?;

Aviso

Eliminar um reconhecimento de data center exclui os dados

Descartar um reconhecimento de data center exclui permanentemente todos os documento na collection do reconhecimento de data center e todos os índices nessas collection. Depois de descartar um reconhecimento de data center, você não poderá acessar ou restaurar nenhum de seus dados.

You can access a collection by retrieving a Collection instance from your database. You can use a Collection instance to perform data operations, create aggregations, and manage indexes. Call one of the following methods on a Database instance to retrieve a Collection:

Se você passar o nome de uma coleção inexistente para os métodos collection() ou collection_with_options() , o driver ainda retornará uma instância Collection . Quando você insere quaisquer dados nessa coleção, o servidor os cria. Para saber como criar explicitamente uma collection, consulte a seção Criar uma collection deste guia.

Este exemplo utiliza o método collection_with_options() para executar a seguinte ação:

  • Acessar uma coleção chamada coll_xyz a partir de um banco de dados referenciado pela variável db

  • Definir uma write preference na collection no tipo CollectionOptions

let wc = WriteConcern::builder().journal(true).build();
let coll_opts = CollectionOptions::builder().write_concern(wc).build();
let my_coll: Collection<Document> = db.collection_with_options("coll_xyz", coll_opts);

Para saber mais sobre write concerns, consulte Write Concern no manual do servidor MongoDB.

Você deve parametrizar sua instância do Collection especificando o tipo de dados em que deseja serializar os dados da coleção. Quando você chama um método em uma instância do Collection que é parametrizada com um tipo específico, o método aceita ou retorna instâncias deste tipo.

Observação

Se você não parametrizar sua instância do Collection , o compilador inferirá o tipo genérico quando você executar uma operação CRUD com um tipo de dados especificado no mesmo escopo.

O exemplo seguinte mostra formas equivalentes de parametrizar uma collection com o tipo Document :

let my_coll: Collection<Document> = client.database("test_db").collection("coll_xyz");
let my_coll = client.database("test_db").collection::<Document>("coll_xyz");

Dica

Recomendamos que você parametrize sua instância do Collection com um tipo personalizado que modele seus dados em vez do tipo do Document . Você pode evitar serialização e validação repetitivas definindo um tipo que modele seus dados específicos.

Para saber mais sobre serialização no driver do Rust, consulte o guia sobre Modelagem de Dados e Serialização.

Você pode criar explicitamente uma coleção ligando para o método create_collection() em uma instância do Database. Este método usa o nome da coleção e um tipo CreateCollectionOptions opcional como parâmetros. Você pode usar uma instância Collection para executar operações de dados, criar agregações e gerenciar índices.

O código a seguir mostra como criar uma collection chamada coll_abc dentro de um reconhecimento de data center referenciado pela variável db :

db.create_collection("coll_abc", None).await?;

Ao criar uma collection, você pode implementar a validação de esquema para manter um documento consistente e controlar se alguma operação de gravação pode ignorar as regras de validação. Para saber como habilitar esse recurso, consulte o guia sobre Validação de Esquema.

To see the names of the collections in a database, call the list_collection_names() method on your Database instance. This method returns a Vec<String> type, a vector containing the collection names as strings.

To see detailed information about each collection, call the list_collections() method on your Database instance. This method returns a Vec<CollectionSpecification> type. The CollectionSpecification type contains fields describing each collection, such as its type and settings.

O exemplo abaixo mostra como imprimir os nomes das collections em um banco de dados referenciado pela variável db utilizando o método list_collection_names() :

let coll_list = db.list_collection_names(doc! {}).await?;
println!("{:?}", coll_list);

Dropping a collection permanently deletes all the data in that collection. To drop a collection, call the drop() method on your Collection instance. The following code shows how to drop a collection referenced by the my_coll variable:

my_coll.drop(None).await?;

Aviso

Eliminar uma collection exclui dados

Descartar uma collection do seu banco de dados exclui permanentemente todos os documentos e todos os índices dessa collection. Depois de descartar uma coleta, você não poderá acessar ou restaurar nenhum de seus dados.

Para obter mais informações sobre os conceitos deste guia, consulte a seguinte documentação: