Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Crea un MongoClient

En esta guía, puedes aprender cómo conectarte a un MongoDB Atlas implementación, una instancia de MongoDB o un set de réplicas utilizando el driver 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 de 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.

Puede usar options.Client() para personalizar la manera en que el controlador de Go se comporta 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 contra la base de datos especificada en authSource. Para obtener más información sobre la opción de conexión authSource, consulte la Guía de solució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.

Puedes acceder a tu cadena de conexión como una variable de entorno usando el siguiente código:

uri := os.Getenv("MONGODB_URI")

Puedes utilizar GoDotEnv para definir tu variable de entorno.

Añade la siguiente configuración de la aplicación en tu archivo .env en la raíz de tu proyecto, sustituyendo los textos de relleno por los valores de la cadena de conexión de tu implementación. Para obtener más información, consulta la documentación de GoDotEnv.

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

Para conectarse a MongoDB, se debe crear un cliente. Un cliente gestiona tus conexiones y ejecuta comandos de 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 tu URI de conexión, pásalo al método ApplyURI(), que devuelve una nueva instancia de ClientOptions. Para establecer cualquier otra opción, llama al método auxiliar relevante del paquete de opciones.

Tip

Reutiliza tu cliente con los pool 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 aprender más sobre las opciones de conexión, consulta la sección Opciones de conexión . Para obtener más información sobre cómo crear un cliente, consulta la documentación de la API para 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 puedes crear un cliente que utilice un Atlas cadena de conexión y la versión Stable API, se conecte a MongoDB y verifique que la conexión sea exitoso:

// 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