Esta guía muestra cómo crear una aplicación que utiliza el controlador .NET/C# para conectarse a un clúster de MongoDB Atlas. Si prefiere conectarse a MongoDB mediante otro controlador o lenguaje de programación, consulte nuestra lista de controladores oficiales de MongoDB.
El controlador .NET/C# permite conectarse y comunicarse con clústeres de MongoDB desde una aplicación .NET.
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).
Siga los pasos a continuación para conectar su aplicación .NET con un clúster de MongoDB Atlas.
Crear un clúster de MongoDB
Configura un clúster gratuito en Atlas.
Para configurar el clúster gratuito de Atlas necesario para esta guía, complete la guía sobre la configuración de MongoDB Atlas.
Tras completar los pasos de la guía de Atlas, tendrá un nuevo clúster de MongoDB implementado en Atlas, un nuevo usuario de base de datos y conjuntos de datos de ejemplo cargados en su clúster. También tendrá una cadena de conexión similar a la siguiente en su búfer de copia:
"mongodb+srv://<db_username>:<db_password>@cluster0.abc.mongodb.net/?retryWrites=true&w=majority"
Configura tu cadena de conexión
Ejecute el siguiente código en el símbolo del sistema para guardar su cadena de conexión de MongoDB en una variable de entorno. Este método es más seguro que incluir sus credenciales en su código fuente.
export MONGODB_URI="<your MongoDB URI>"
Nota
Variables de entorno de PowerShell
Si utiliza Microsoft PowerShell, ejecute el siguiente comando para guardar su cadena de conexión en una variable de entorno:
set MONGODB_URI="<your MongoDB URI>"
Importante
Asegúrate de reemplazar las secciones <db_username> y <db_password> de la cadena de conexión con el nombre de usuario y la contraseña de tu usuario de base de datos Atlas.
Para obtener más información sobre las cadenas de conexión, consulte Cadenas de conexión.
Configurar el proyecto
Crea el proyecto
Crea un nuevo directorio e inicializa tu proyecto con el comando dotnet new, de la siguiente manera:
mkdir csharp-quickstart cd csharp-quickstart dotnet new console
Agregar MongoDB como una dependencia
Utiliza el comando dotnet add para añadir el controlador .NET/C# a tu proyecto como dependencia.
dotnet add package MongoDB.Driver
Se debe realizar un query en el clúster de MongoDB desde la aplicación
Copie y pegue el siguiente código en el archivo Program.cs de su aplicación. Puedes elegir query documentos utilizando un BsonDocument o un "objeto CLR Antiguo" (POCO). Selecciona la pestaña correspondiente para ver un ejemplo de cada enfoque:
using MongoDB.Bson; using MongoDB.Bson.IO; using MongoDB.Driver; var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI"); if (connectionString == null) { Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/es/docs/drivers/csharp/current/get-started/create-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var collection = client.GetDatabase("sample_mflix").GetCollection<BsonDocument>("movies"); var filter = Builders<BsonDocument>.Filter.Eq("title", "Back to the Future"); var document = collection.Find(filter).First(); Console.WriteLine(document.ToJson(new JsonWriterSettings { Indent = true }));
using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using MongoDB.Driver; var connectionString = Environment.GetEnvironmentVariable("MONGODB_URI"); if (connectionString == null) { Console.WriteLine("You must set your 'MONGODB_URI' environment variable. To learn how to set it, see https://www.mongodb.com/es/docs/drivers/csharp/current/get-started/create-connection-string"); Environment.Exit(0); } var client = new MongoClient(connectionString); var collection = client.GetDatabase("sample_mflix").GetCollection<Movie>("movies"); var filter = Builders<Movie>.Filter.Eq(m => m.Title, "Back to the Future"); var movie = collection.Find(filter).First(); Console.WriteLine($"Title: {movie.Title}"); Console.WriteLine($"Plot: {movie.Plot}"); Console.WriteLine($"Genres: {string.Join(", ", movie.Genres ?? [])}"); [] public class Movie { [] public ObjectId Id { get; set; } [] public string? Title { get; set; } [] public string? Plot { get; set; } [] public List<string>? Genres { get; set; } }
Tip
Para obtener más información sobre cómo utilizar POCOs con el Driver .NET/C#, consulta la guía POCOs.
Ejecute la aplicación desde la línea de comandos con el siguiente comando:
dotnet run csharp-quickstart.csproj
La salida incluye detalles del documento de la película recuperada. A continuación, se muestra el resultado de cada enfoque:
{ _id: ..., plot: 'A young man is accidentally sent 30 years into the past...', genres: [ 'Adventure', 'Comedy', 'Sci-Fi' ], ... title: 'Back to the Future', ... }
Title: Back to the Future Plot: A young man is accidentally sent 30 years into the past... Genres: Adventure, Comedy, Sci-Fi
Tip
Si encuentras un error o no ves ninguna salida, asegúrate de haber especificado la cadena de conexión correcta y de haber cargado los datos de muestra.
Después de completar este paso, tendrá una aplicación funcional que utiliza el driver de .NET/C# para conectarse a su clúster de MongoDB, ejecutar una query en los datos de muestra e imprimir el resultado.
Para obtener más información sobre cómo conectarse a Atlas con el controlador .NET/C#, consulte la guía de conexión del controlador Atlas y seleccione C# en el menú desplegable Select your language.
Próximos pasos
Aprenda a leer y modificar datos utilizando el controlador .NET/C# en la guía de operaciones CRUD o cómo realizar operaciones comunes en Ejemplos de uso.