Início rápido do Go Driver
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
Use o Go Mod para iniciar um projeto
Crie um novo diretório e inicialize seu projeto utilizando 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 driver Atlas e selecione Go no menu suspenso Selecione a linguagem .
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.
Especifique sua cadeia de conexão do MongoDB Atlas como o valor da variável uri
, ou crie uma variável de ambiente denominada MONGODB_URI
e configure a cadeia de conexão do Atlas como seu valor.
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") docs := "www.mongodb.com/pt-br/docs/drivers/go/current/" if uri == "" { log.Fatal("Set your 'MONGODB_URI' environment variable. " + "See: " + docs + "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.