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 readWrite sobre la base y el fichero pki/ca.pem del clúster.

Instala el driver

Shell
cargo add mongodb tokio --features tokio/full

Guarda 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=true en la cadena.
  • El driver no confía en el certificado del nodo porque no tiene la CA de este clúster.

Ver también