Connessione a MongoDB con Rust

Mattepuffo's logo
Connessione a MongoDB con Rust

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!


Share this Post

Commentami!