Connessione a MongoDB con Rust
Il diver ufficiale per Rust per la connessione a MongoDB prevede sia una versione sync che una async.
Noi vedremo la prima, anche perchè più facile da usare.
Aggiungete queste righe al Cargo.toml:
[dependencies.mongodb]
version = "1.0.0"
default-features = false
features = ["sync"]
Nel codice qui sotto aggiungiamo dei dati e poi li estriamo.
La collezione verrà creata se non esiste; lo standard di MongoDB insomma:
use mongodb::{
bson::{doc, Bson},
sync::Client,
};
fn main() {
let client = Client::with_uri_str("mongodb://localhost:27017").unwrap();
let database = client.database("test");
let collection = database.collection("libri");
let libri = vec![
doc! { "titolo": "Shining", "autore": "Stephen King" },
doc! { "titolo": "Vento nero", "autore": "Clive Cussler" },
];
collection.insert_many(libri, None).unwrap();
let cursor = collection.find(None, None).unwrap();
for result in cursor {
if let Ok(item) = result {
if let Some(&Bson::String(ref titolo)) = item.get("titolo") {
println!("Titolo: {}", titolo);
}
}
}
}
Considerate che ad ogni lancio verranno aggiunti di nuovo tutti i dati, non essendoci un controllo in tal senso.
Enjoy!
rust mongodb bson
Commentami!