Esta guía te muestra cómo crear una aplicación que utilice el controlador Go para conectar con un clúster de MongoDB Atlas. Si prefieres conectarte a MongoDB usando un controlador o lenguaje de programación diferente, consulta nuestro Lista de drivers oficiales de MongoDB.
El driver de Go permite conectarse y comunicarse con clústeres de MongoDB desde una aplicación de Go.
MongoDB Atlas es un servicio de base de datos en la nube completamente gestionada que aloja los datos en clústeres de MongoDB. En esta guía, mostramos cómo comenzar con un clúster gratuito (no se necesita tarjeta de crédito).
Se pueden seguir los pasos a continuación para conectar la aplicación de Go con un clúster de MongoDB Atlas.
Configurar el proyecto
Utiliza Go Mod para iniciar un proyecto
Crea un nuevo directorio e inicializa tu proyecto usando go mod.
mkdir go-quickstart cd go-quickstart go mod init go-quickstart
Agregar MongoDB como una dependencia
Utiliza go get para agregar el controlador de Go como una dependencia.
go get go.mongodb.org/mongo-driver/mongo
Agregar otras dependencias
Usa go get para agregar cualquier dependencia adicional. Este inicio rápido utiliza el paquete godotenv para leer una cadena de conexión MongoDB de una variable de entorno, evitando así incrustar credenciales en código fuente.
go get github.com/joho/godotenv
Crear un clúster de MongoDB
Configurar un clúster de nivel gratuito en Atlas
Después de configurar las dependencias de tu proyecto Go, crea un clúster de MongoDB donde puedas almacenar y gestionar tus datos. Completa la guía Primeros pasos con MongoDB para configurar una nueva cuenta de Atlas, crear un clúster de MongoDB de nivel gratuito, cargar conjuntos de datos e interactuar con los datos.
Después de completar los pasos en la guía de Atlas, deberá tener un nuevo clúster de MongoDB implementado en Atlas, un nuevo usuario de base de datos y conjuntos de datos de muestra cargados en su clúster.
Conéctate a tu clúster
En este paso, crearás y ejecutarás una aplicación que usa el driver de Go para conectar con tu clúster de MongoDB y ejecutar una query en los datos de muestra.
Le pasas instrucciones al driver sobre dónde y cómo conectarse a tu clúster de MongoDB en una string llamada la cadena de conexión. Esta string incluye información sobre el nombre de host o la dirección IP y el puerto de su clúster, el mecanismo de autenticación, las credenciales de usuario en caso de ser aplicables y otras opciones de conexión.
Para recuperar tu cadena de conexión para el clúster y el usuario que creaste en el paso anterior, inicia sesión en tu cuenta de Atlas y navega hasta la Database sección y haz clic en el botón Connect para el clúster al que deseas conectarte como se muestra a continuación.

Procede al paso Connect Your Application y selecciona el controlador de Go. Luego, haz clic en el botón Copy para copiar la cadena de conexión a tu portapapeles, como se muestra a continuación.

Guarda tu cadena de conexión de Atlas en una ubicación segura a la que puedas acceder para el siguiente paso.
Para obtener más información sobre cómo conectarte al driver de Go a través de Atlas, consulta la guía de conexión al driver Atlas y selecciona Go del desplegable Selecciona tu lenguaje.
Se debe realizar un query en el clúster de MongoDB desde la aplicación
A continuación, crea un archivo para contener tu aplicación llamado main.go en el directorio base del proyecto. Usa el siguiente código de ejemplo para ejecutar una query en tu conjunto de datos de muestra de MongoDB Atlas.
Especifique su cadena de conexión de MongoDB Atlas como el valor de la variable uri, o cree una variable de entorno llamada MONGODB_URI y establezca su cadena de conexión de Atlas como su valor.
export MONGODB_URI='<your atlas connection string>'
Nota
Asegúrate de reemplazar<password>la sección "<contraseña>" de la cadena de conexión con la contraseña que has creado para el usuario que tiene permisos de 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/es/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) }
Ejecute el código de muestra con el siguiente comando desde su línea de comandos:
go run main.go
Cuando ejecutes main.go, debería mostrar los detalles de la película del conjunto de datos que se parece a lo siguiente:
{ "_id": "573a1398f29313caabce9682", ... "title": "Back to the Future", ... }
Si no recibes ninguna salida o un error, verifica si configuraste correctamente la variable de entorno y si cargaste el conjunto de datos de muestra en tu clúster de MongoDB Atlas.
Tip
Si la salida está vacía, es importante asegurarse de haber cargado los conjuntos de datos de muestra en el clúster.
Después de completar este paso, deberías tener una aplicación funcional que utilice el driver de Go para conectarse a tu clúster de MongoDB, ejecutar una query sobre los datos de muestra e imprimir el resultado.
Próximos pasos
Aprende a leer y modificar datos utilizando el driver de Go en nuestra guía CRUD Fundamental o cómo realizar operaciones comunes desde nuestro Ejemplos de uso.