C# y .NET
Conecta una aplicación de C# y .NET a TeselaDB con el driver oficial de MongoDB.
Conecta una aplicación de C# y .NET a TeselaDB con el driver oficial de MongoDB para C# y .NET. TeselaDB se presenta como un mongos, así que el driver funciona sin cambios.
Requisitos
- .NET 6 o posterior.
- La dirección de uno o más nodos, un usuario con
readWritesobre la base y el ficheropki/ca.pemdel clúster.
Instala el driver
Shell
dotnet add package MongoDB.DriverGuarda la cadena de conexión
Pon la cadena en una variable de entorno y no la escribas en el código:
Shell
export TESELADB_URI="mongodb://usuario:<contraseña>@node-01:27017,node-02:27017/shop?tls=true"Añade la CA a los certificados del sistema
El driver de .NET comprueba el certificado del nodo con los certificados de confianza del sistema, de modo que la CA del clúster tiene que estar entre ellos antes de que tu aplicación se conecte. En Linux, la añades así:
Shell
sudo cp ca.pem /usr/local/share/ca-certificates/teseladb.crt
sudo update-ca-certificatesEn la cadena de conexión de tu aplicación deja solo la opción tls=true, sin tlsCAFile.
Escribe y lee un documento
C#
var client = new MongoClient(Environment.GetEnvironmentVariable("TESELADB_URI"));
var orders = client.GetDatabase("shop").GetCollection<BsonDocument>("orders");
orders.InsertOne(new BsonDocument("total", 149.5));
Console.WriteLine(orders.CountDocuments(FilterDefinition<BsonDocument>.Empty));Comprobar
El programa escribe el número de documentos de orders, que crece en uno cada vez que lo ejecutas.
Problemas frecuentes
- La conexión se cierra antes de autenticar porque falta
tls=trueen la cadena. - El driver no confía en el certificado del nodo porque no tiene la CA de este clúster.