Connessione a MongoDB con Ruby

Mattepuffo's logo
Connessione a MongoDB con Ruby

Connessione a MongoDB con Ruby

Sto facendo un pò di test su MongoDB; oggi testiamo Ruby.

Attraverso gem è possibile installare il driver; ma prima bisogna installare anche il pacchetto ruby-dev.

Su Debian 10:

# aptitude install ruby-dev
# gem install mongo

Fatto questo vediamo un veloce script:

require 'mongo'

Mongo::Logger.logger.level = ::Logger::FATAL

begin
    client = Mongo::Client.new('mongodb://127.0.0.1:27017/db_libri')

    client.collections.each { |coll| puts 'Coll: ' + coll.name }

    puts '-----------'

    client[:libri].find.each { |doc| puts doc }
    client.close
rescue Mongo::Error::NoServerAvailable => e
    p "Cannot connect to the server"
    p e
end

Abbiamo impostato anche il log ad un livello più critico, sennò ci spara fuori una mareo di info.

Dopo la connessione stampiamo il nome di tutte le collezioni trovate nel db selezionato.

Sotto stampiamo i records della collection selezionata:

$ ruby ./test.rb
Coll: libri
-----------
{"_id"=>BSON::ObjectId('5e679d6b0429ff2a019769ff'), "titolo"=>"2001 odissea nello spazio", "autori"=>["clarke"]}
{"_id"=>BSON::ObjectId('5e679da70429ff2a01976a00'), "titolo"=>"la casa del buio", "autori"=>["king", "straub"]}

Enjoy!


Condividi

Commentami!