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!
ruby gem ruby-dev mongo mongodb
Commentami!