Esta guía le muestra cómo crear una aplicación que usa el controlador Go para conectarse a un clúster de MongoDB Atlas. Si prefiere conectarse a MongoDB con un controlador o lenguaje de programación diferente, consulte nuestra Lista de controladores 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.
Configura tu proyecto
Utilice Go Mod para inicializar un proyecto
Cree un nuevo directorio e inicialice su proyecto utilizando go mod.
mkdir go-quickstart cd go-quickstart go mod init go-quickstart
Agregar MongoDB como una dependencia
Utilice go get para agregar el controlador Go como una dependencia.
go get go.mongodb.org/mongo-driver/mongo
Agregar otras dependencias
Utilice go get para agregar dependencias adicionales. Esta guía de inicio rápido utiliza el paquete godotenv para leer una cadena de conexión de MongoDB desde una variable de entorno y así evitar la incrustación de credenciales en el 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 su proyecto Go, cree un clúster de MongoDB donde pueda almacenar y administrar sus datos. Complete la guía de introducción a MongoDB para configurar una nueva cuenta de Atlas, un clúster de MongoDB de nivel gratuito, cargar conjuntos de datos e interactuar con ellos.
Después de completar los pasos de la guía de Atlas, debería 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éctese a su clúster
En este paso, creará y ejecutará una aplicación que utiliza el controlador Go para conectarse a su clúster MongoDB y ejecutar una consulta en los datos de muestra.
Le pasas instrucciones al controlador sobre dónde y cómo conectarse a tu clúster de MongoDB en una cadena llamada cadena de conexión. Esta cadena incluye información sobre el nombre de host o la dirección IP y el puerto de tu clúster, el mecanismo de autenticación, las credenciales de usuario (si corresponde) y otras opciones de conexión.
Para recuperar su cadena de conexión para el clúster y el usuario que creó en el paso anterior, inicie sesión en su cuenta de Atlas y navegue hasta Database sección y haga clic en el botón Connect para el clúster al que desea conectarse como se muestra a continuación.

Continúe con el Connect Your Application paso y seleccione el controlador Go. Luego, haga clic en Copy el botón para copiar la cadena de conexión al portapapeles, como se muestra a continuación.

Guarde la cadena de conexión de Atlas en una ubicación segura a la que pueda acceder para el siguiente paso.
Para obtener más información sobre cómo conectarse al controlador Go a través de Atlas, consulte la guía de conexión del controlador Atlas y seleccione Go en el menú desplegable Seleccione su idioma.
Se debe realizar un query en el clúster de MongoDB desde la aplicación
A continuación, cree un archivo llamado main.go en el directorio base de su proyecto para contener su aplicación. Utilice el siguiente código de ejemplo para ejecutar una consulta en su conjunto de datos de ejemplo en 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 ejecuta main.go, debería mostrar los detalles de la película del conjunto de datos de muestra que se parece a lo siguiente:
{ "_id": "573a1398f29313caabce9682", ... "title": "Back to the Future", ... }
Si no recibe ningún resultado o un error, verifique si configuró correctamente su variable de entorno y si cargó el conjunto de datos de muestra en su clúster 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ía tener una aplicación en funcionamiento que use el controlador Go para conectarse a su clúster MongoDB, ejecutar una consulta en los datos de muestra e imprimir el resultado.
Próximos pasos
Aprenda a leer y modificar datos usando el controlador Go en nuestra guía CRUD Fundamentals o cómo realizar operaciones comunes desde nuestra Ejemplos de uso.