Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

RubyからmongoHQに接続してみる

mongoHQは、その名の通りmongoDBを使えるサービスです。
サクサク動いて、JSONJavascript風に弄れるので非常に便利です。
Rubyスキーとしては、これもRubyで弄りたいと思い……色々やってみました。

私はHerokuでmongoHQのアドオンを導入したので青い"Log In"ボタンを押したら、そのままHerokuのmongoHQ add-On用ページに飛ばされました。

herokuと同じというのも色々拙いので、このページから、Adminタブ->Usersに飛び、passwordを設定し直します。
なお、passは表示の際、暗号化されています。
そのまま入力しても意味がありません*1

次にRuby側の設定です。

gem install mongo
gem install bson_ext

にて、必要なgemを入れておきます。
データを参照するだけならば、以下のコードで事足ります。

require 'rubygems'  # if less than Ruby 1.9
require 'mongo'

#Case:: mongodb://<user>:<password>@linus.mongohq.com:10019/app10631920
port_num =  "10019" 
db_name  =  "app10631920"
con = Mongo::Connection.new("linus.mongohq.com", port_num).db(db_name)
data = con.authenticate(<user>, <password>)
data.find()

これで無事に接続完了です。
データの追加やソートなどは、
File: README — mongo-2.0.4Wokashi: MongoDBをRubyから使うが参考になるかと。(無責任)

参照元

*1:私はここで15分ほど詰まりました。おバカですね