Início rápido
Nesta página
Este guia mostra como criar um aplicativo que utiliza o driver Go para conectar a um cluster do MongoDB Atlas. Se você preferir conectar ao MongoDB utilizando outro driver ou outra linguagem de programação, consulte nossa lista de drivers oficiais do MongoDB.
O driver Go permite que você se conecte e se comunique com clusters MongoDB a partir de um aplicativo Go.
O MongoDB Atlas é um serviço de banco de dados em nuvem totalmente gerenciado que hospeda seus dados em clusters MongoDB. Neste guia, mostramos como começar a usar seu próprio cluster gratuito (nenhum cartão de crédito necessário).
Siga as etapas abaixo para conectar seu aplicativo Go com um cluster do Atlas MongoDB.
Configurar seu projeto
Inicializar com Go Mod
Crie um novo diretório e inicialize seu projeto com go mod
.
mkdir go-quickstart cd go-quickstart go mod init go-quickstart
Adicionar MongoDB como dependência
Utilize go get
para adicionar o driver Go como dependência.
go get go.mongodb.org/mongo-driver/mongo
Adicionar outras dependências
Use go get
para adicionar quaisquer dependências adicionais. Este início rápido utiliza o pacote godotenv
para ler uma cadeia de conexão do MongoDB de uma variável de ambiente para evitar a incorporação de credenciais dentro do código fonte.
go get github.com/joho/godotenv
Criar um cluster MongoDB
Configurar um cluster de camada grátis no Atlas
Após configurar suas dependências de projeto Go, crie um cluster MongoDB onde você pode armazenar e gerenciar seus dados. Consulte o guia Introdução ao Atlas para configurar uma nova conta Atlas, um cluster MongoDB de nível gratuito, carregar conjuntos de dados e interagir com os dados.
Depois de concluir as etapas do guia do Atlas, você deverá ter um novo cluster MongoDB implantado no Atlas, um novo usuário do banco de dados e conjuntos de dados de amostra carregados em seu cluster.
Conecte-se ao seu cluster
Nesta etapa, você cria e executa um aplicativo que usa o driver Go para se conectar ao cluster MongoDB e executar uma query sobre os dados de amostra.
Você passa instruções para o driver sobre onde e como se conectar ao cluster do MongoDB em uma cadeia de caracteres chamada cadeia de conexão. Essa cadeia inclui informações sobre o nome do host ou o endereço IP e a porta do seu cluster, o mecanismo de autenticação, as credenciais do usuário, quando aplicável, e outras opções de conexão.
Para recuperar a cadeia de conexão do cluster e do usuário criados na etapa anterior, faça login na sua conta do Atlas e navegue até a seção Database e clique no botão Connect do cluster ao qual deseja se conectar, conforme mostrado abaixo.

Prossiga para a etapa Connect Your Application e selecione o driver Go. Em seguida, clique no botão Copy para copiar a connection string para a área de transferência, conforme mostrado abaixo.

Salve sua cadeia de conexão do Atlas em um local seguro que você pode acessar para a próxima etapa.
Para saber mais sobre como se conectar ao driver Go por meio do Atlas, consulte o guia de conexão do driverAtlas e selecione Go na lista suspensa Selecione seu idioma .
Consulte seu cluster MongoDB a partir de seu aplicativo
Em seguida, crie um arquivo para conter seu aplicativo denominado main.go
no diretório base do seu projeto. Utilize o seguinte código de amostra para executar uma consulta no seu conjunto de dados de amostra no MongoDB Atlas.
Configure o valor da variável uri
com sua string de conexão do MongoDB Atlas ou crie uma variável ambiental com o nome MONGODB_URI
com sua string de conexão do Atlas .
export MONGODB_URI='<your atlas connection string>'
Observação
Certifique-se de substituir a seção "<password>" da cadeia de conexão pela senha que você criou para o usuário que tem permissões do atlasAdmin.
package main import ( "context" "encoding/json" "fmt" "log" "os" "github.com/joho/godotenv" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) func main() { if err := godotenv.Load(); err != nil { log.Println("No .env file found") } uri := os.Getenv("MONGODB_URI") if uri == "" { log.Fatal("You must set your 'MONGODB_URI' environmental variable. See\n\t https://www.mongodb.com/pt-br/docs/drivers/go/current/usage-examples/#environment-variable") } client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri)) if err != nil { panic(err) } defer func() { if err := client.Disconnect(context.TODO()); err != nil { panic(err) } }() coll := client.Database("sample_mflix").Collection("movies") title := "Back to the Future" var result bson.M err = coll.FindOne(context.TODO(), bson.D{{"title", title}}).Decode(&result) if err == mongo.ErrNoDocuments { fmt.Printf("No document was found with the title %s\n", title) return } if err != nil { panic(err) } jsonData, err := json.MarshalIndent(result, "", " ") if err != nil { panic(err) } fmt.Printf("%s\n", jsonData) }
Execute o código de amostra com o seguinte comando a partir da sua linha de comando:
go run main.go
Quando você executa main.go
, ele deve gerar os detalhes do filme do conjunto de dados de amostra, que se parece com o seguinte:
{ "_id": "573a1398f29313caabce9682", ... "title": "Back to the Future", ... }
Se você não receber nenhum resultado ou um erro, verifique se configurou corretamente a variável de ambiente e se carregou o conjunto de dados de amostra no cluster MongoDB Atlas.
Dica
Se a saída estiver vazia, verifique se você carregou os conjuntos de dados de exemplo no cluster.
Depois de concluir esta etapa, você deve ter um aplicativo funcional que use o driver Go para se conectar ao cluster MongoDB, executar uma query nos dados de amostra e imprimir o resultado.
Próximos passos
Saiba como ler e modificar dados usando o driver Go em nosso guia CRUD de Fundamentos ou como executar operações comuns em nossos Exemplos de Uso.