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
/

Criar um MongoClient

Neste guia, você aprenderá como se conectar a uma implantação do MongoDB Atlas, a uma instância do MongoDB ou a um conjunto de réplicas usando o driver Go.

Para se conectar a um sistema MongoDB , você precisa das duas coisas a seguir:

  • URI de conexão, também conhecido como string de conexão, que informa ao driver Go a qual deployment do MongoDB se conectar.

  • objeto MongoClient, que cria a conexão e executa operações no MongoDB deployment.

Você pode usar o options.Client() para personalizar a forma como o driver Go se comporta enquanto conectado ao MongoDB.

Uma connection string padrão inclui os seguintes componentes:

Componente
Descrição

mongodb://

Obrigatório. Um prefixo que identifica isso como uma string no formato de conexão padrão.

username:password

Opcional. Credenciais de autenticação. Se você incluir estes, o cliente autenticará o usuário no banco de dados especificado no authSource. Para obter mais informações sobre a opção de conexão authSource, consulte o guia Solução de problemas de conexão.

host[:port]

Obrigatório. O host e o número da porta opcional em que o MongoDB está sendo executado. Se você não incluir o número da porta, o driver usará a porta padrão, 27017.

/defaultauthdb

Opcional. O authentication banco de dados de autenticação a ser usado se a string de conexão incluir as credenciais de autenticação username:password@, mas não a opção authSource. Quando você chama client.db() sem argumento, este é o banco de dados que é utilizado. Se você não incluir este componente, o cliente autenticará o usuário no banco de dados do admin.

?<options>

Opcional. Uma string de consulta que especifica opções específicas de conexão como <name>=<value> pares. Consulte Especificar opções de conexão para obter uma descrição completa dessas opções.

Dica

Para recuperar uma string de conexão para uma implementação do Atlas, siga o guia de Início Rápido.

Para obter mais informações sobre a criação de uma connection string, consulte Connection strings na documentação do MongoDB Server .

Você pode acessar sua string de conexão como uma variável de ambiente usando o código a seguir:

uri := os.Getenv("MONGODB_URI")

Você pode usar o GoDotEnv para definir sua variável de ambiente.

Adicione a seguinte configuração do aplicativo em seu arquivo .env na raiz do seu projeto, substituindo os espaços reservados pelos valores da string de conexão da sua implantação. Para saber mais, consulte a documentação GoDotEnv.

MONGODB_URI=mongodb+srv://<db_username>:<db_password>@<cluster-url>?retryWrites=true&w=majority

Para se conectar ao MongoDB, você deve criar um cliente. Um cliente gerencia conexões e executa comandos de banco de dados.

Você pode criar um cliente que use sua cadeia de conexão e outras opções do cliente passando um objeto ClientOptions para o método Connect().

Para especificar seu URI de conexão, passe-o para o método ApplyURI(), que retorna uma nova instância ClientOptions. Para definir quaisquer outras opções, chame o método de assistente relevante a partir do pacote de opções.

Dica

Reutilize seu cliente com pools de conexões

Recomendamos que você reutilize seu cliente entre sessões e operações usando um pool de conexões. Você pode utilizar a mesma instância do Client para executar múltiplas tarefas, em vez de criar outra a cada vez. O tipo de Client é seguro para uso concorrente por várias goroutines. Para saber mais sobre como os pool de conexões funcionam no driver, consulte o guia Pools de conexões.

Para saber mais sobre as opções de conexão, consulte a seção Opções de conexão. Para aprender mais sobre como criar um cliente, consulte a documentação da API para Cliente e Conectar().

Você pode definir a versão da Stable API como uma opção para evitar alterações interruptivas ao atualizar para uma nova versão do servidor. Para saber mais sobre o recurso Stable API, consulte a página Stable API.

O código a seguir mostra como criar um cliente que usa uma string de conexão do Atlas e a versão da API estável, se conecta ao MongoDB e verifica se a conexão foi bem-sucedida:

// Connects to MongoDB and sets a Stable API version
package main
import (
"context"
"fmt"
"log"
"os"
"go.mongodb.org/mongo-driver/v2/bson"
"go.mongodb.org/mongo-driver/v2/mongo"
"go.mongodb.org/mongo-driver/v2/mongo/options"
)
func main() {
var uri string
if uri = os.Getenv("MONGODB_URI"); uri == "" {
log.Fatal("You must set your 'MONGODB_URI' environment variable. See\n\t https://mongodb.com/pt-br/docs/drivers/go/current/usage-examples/")
}
// Uses the SetServerAPIOptions() method to set the Stable API version to 1
serverAPI := options.ServerAPI(options.ServerAPIVersion1)
// Defines the options for the MongoDB client
opts := options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)
// Creates a new client and connects to the server
client, err := mongo.Connect(opts)
if err != nil {
panic(err)
}
defer func() {
if err = client.Disconnect(context.TODO()); err != nil {
panic(err)
}
}()
// Sends a ping to confirm a successful connection
var result bson.M
if err := client.Database("admin").RunCommand(context.TODO(), bson.D{{"ping", 1}}).Decode(&result); err != nil {
panic(err)
}
fmt.Println("Pinged your deployment. You successfully connected to MongoDB!")
}

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

Para saber mais sobre os métodos e tipos discutidos neste guia, consulte a seguinte documentação da API:

Voltar

Conecte

Nesta página