Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver GO

Bancos de dados e coleções

Neste guia, você aprenderá a interagir com bancos de dados e collections do MongoDB usando o driver Go.

O MongoDB organiza os dados em uma hierarquia dos seguintes níveis:

  • Bancos de dados: Estruturas de dados de nível superior em um MongoDB deployment que armazenam collections.

  • Collections: grupos de documentos do MongoDB . Elas são análogas às tabelas do banco de dados relacional.

  • Documentos: unidades que armazenam dados literais, como strings, números, datas e outros documentos incorporados. Para obter mais informações sobre os tipos de campo de documento e estrutura, consulte a entrada Documentos no manual do MongoDB Server.

Você pode acessar um banco de dados utilizando o método Database() em uma instância do Client.

O exemplo a seguir acessa um banco de dados denominado test_database :

database := client.Database("test_database")

Você pode acessar uma coleção utilizando o método Collection() em uma instância do Database.

O exemplo a seguir acessa uma coleção denominada test_collection:

collection := database.Collection("test_collection")

Dica

Se o nome da coleção fornecido ainda não existir no banco de dados, o MongoDB criará implicitamente a coleção quando você inserir os dados pela primeira vez nela.

Para criar uma coleção explicitamente, você pode utilizar o método CreateCollection() em uma instância do Database.

O exemplo a seguir cria uma collection chamada example_collection:

err = database.CreateCollection(context.TODO(), "example_collection")
if err != nil {
log.Fatalf("Failed to create collection: %v", err)
}

Você pode especificar opções de collection, como tamanho máximo e regras de validação de documento , passando uma estrutura options.CreateCollectionOptions para o método CreateCollection() de uma instância Database . Para obter uma lista completa dos parâmetros opcionais, consulte a entrada de comando create no manual do MongoDB Server.

Você pode fazer query de uma lista de collections em um banco de dados usando o método ListCollections() em uma instância Database.

O exemplo a seguir obtém uma lista de todas as coleções em um banco de dados e, em seguida, imprime os nomes das coleções no console:

cursor, err := database.ListCollections(context.TODO(), bson.D{})
if err != nil {
log.Fatalf("Failed to list collections: %v", err)
}
defer cursor.Close(context.TODO())
for cursor.Next(context.TODO()) {
var collectionInfo bson.M
if err := cursor.Decode(&collectionInfo); err != nil {
log.Fatalf("Failed to decode collection info: %v", err)
}
if name, ok := collectionInfo["name"].(string); ok {
fmt.Println(name)
} else {
log.Println("Collection name not found or not a string")
}
}
if err := cursor.Err(); err != nil {
log.Fatalf("Cursor error: %v", err)
}

Você pode excluir uma coleção utilizando o método Drop() em uma instância do Database.

O exemplo a seguir exclui uma coleção chamada test_collection:

err = database.Collection("test_collection").Drop(context.TODO())
if err != nil {
log.Fatalf("Failed to drop collection: %v", err)
}

Aviso

Eliminar uma coleção exclui todos os dados da coleção

Descartar uma collection do seu banco de dados exclui permanentemente todos os documentos e todos os índices dessa collection.

Solte uma coleção somente se não precisar mais dos dados dessa coleção.

Para saber mais sobre qualquer um dos tipos ou métodos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Pacote de contexto

Nesta página