Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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分ほど詰まりました。おバカですね