Rust
Conecta una aplicación de Rust a TeselaDB con el driver oficial de MongoDB.
Conecta una aplicación de Rust a TeselaDB con el driver oficial de MongoDB para Rust. TeselaDB se presenta como un mongos, así que el driver funciona sin cambios.
Requisitos
- Rust con Cargo.
- 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
cargo add mongodb tokio --features tokio/fullGuarda 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&tlsCAFile=./ca.pem"Escribe y lee un documento
Rust
let client = mongodb::Client::with_uri_str(std::env::var("TESELADB_URI")?).await?;
let orders = client.database("shop").collection::<mongodb::bson::Document>("orders");
orders.insert_one(mongodb::bson::doc! { "total": 149.5 }).await?;
println!("{}", orders.count_documents(mongodb::bson::doc! {}).await?);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.