Docs Menu
Docs Home
/ /

Crea un MongoClient

En esta guía, puede aprender cómo conectarse a un Implementación de MongoDB Atlas, una instancia de MongoDB o un conjunto de réplicas que utiliza el controlador Go.

Para conectarse a una implementación de MongoDB, necesita las siguientes dos cosas:

  • URI de conexión, también conocido como cadena de conexión, que le indica al controlador Go a qué implementación de MongoDB conectarse.

  • Objeto MongoClient, que establece la conexión y lleva a cabo operaciones en la implementación de MongoDB.

Puedes utilizar options.Client() para personalizar la forma en que se comporta el controlador Go mientras está conectado a MongoDB.

Una cadena de conexión estándar incluye los siguientes componentes:

Componente
Descripción

mongodb://

Requerido. Un prefijo que identifica esto como un string en el formato de conexión estándar.

username:password

Opcional. Credenciales de autenticación. Si las incluye, el cliente autentica al usuario con la base de datos especificada en authSource. Para obtener más información sobre la opción de conexión authSource, consulte Guía desolución de problemas de conexión.

host[:port]

Requerido. El host y el número de puerto opcional donde se ejecuta MongoDB. Si no incluyes el número de puerto, el controlador utiliza el puerto por defecto, 27017.

/defaultauthdb

Opcional. La base de datos de autenticación que se debe usar si la cadena de conexión incluye las credenciales de autenticación username:password@ pero no la opción authSource. Cuando se llama a client.db() sin argumento, esta es la base de datos que se utiliza. Si no se incluye este componente, el cliente autentica al usuario contra la base de datos admin.

?<options>

Opcional. Un string del query que especifica opciones específicas de conexión como pares <name>=<value>. Consulta Opciones de conexión para obtener una descripción completa de estas opciones.

Tip

Para recuperar una cadena de conexión para una implementación de Atlas, siga la guía de inicio rápido.

Para obtener más información sobre cómo crear una cadena de conexión, consulte Cadenas de conexión en la documentación de MongoDB Server.

Puede acceder a su cadena de conexión como una variable de entorno utilizando el siguiente código:

uri := os.Getenv("MONGODB_URI")

Puede utilizar GoDotEnv para definir su variable de entorno.

Agregue la siguiente configuración .env de la aplicación al archivo en la raíz del proyecto, reemplazando los marcadores de posición con los valores de la cadena de conexión de su implementación. Para obtener más información, consulte la documentación de GoDotEnv.

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

Para conectarse a MongoDB, debe crear un cliente. Un cliente administra sus conexiones y ejecuta comandos de la base de datos.

Puedes crear un cliente que use tu cadena de conexión y otras opciones del cliente si trasladas un objeto ClientOptions al método Connect().

Para especificar la URI de conexión, pásela al método ApplyURI(), que devuelve una nueva instancia ClientOptions. Para configurar otras opciones, llame al método auxiliar correspondiente del paquete de opciones.

Tip

Reutilice su cliente con grupos de conexiones

Recomendamos reutilizar el cliente entre sesiones y operaciones utilizando un pool de conexiones. Puedes utilizar la misma instancia Client para realizar varias tareas, en lugar de crear una nueva cada vez. El tipo Client es seguro para su uso concurrente por múltiples goroutines. Para aprender más sobre cómo funcionan los pool de conexiones en el driver, consulta la guía pool de conexiones.

Para obtener más información sobre las opciones de conexión, consulte la sección "Opciones de conexión". Para obtener más información sobre cómo crear un cliente, consulte la documentación de la API de Cliente y Connect().

Puedes configurar la versión estable de la API como opción para evitar cambios importantes al actualizar a una nueva versión del servidor. Para obtener más información sobre la función API estable, consulta la página API estable.

El siguiente código muestra cómo crear un cliente que use una cadena de conexión Atlas y la versión API estable, se conecte a MongoDB y verifique que la conexión sea exitosa:

// 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/es/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 más información sobre los conceptos de esta guía, consulta la siguiente documentación:

Para obtener más información sobre los métodos y tipos analizados en esta guía, consulte la siguiente documentación de API:

Volver

Empezar

En esta página