Rails 3 + MongoDB のメモ
CouchDB definitive guide が届いたタイミングで MongoDB に乗り換えてしまい、Rails 3 と共に戯れ中。
文章が分散していたり欠けていたりしたのでメモを残してみる。
Gemfile
gem "bson_ext" gem "mongoid", ">= 2.0.0.beta2"
run generator
g mongo:config g mongo:entry
この時点で mongod にアクセスが入るようになる(たぶん)。
entry.rb
class Entry include Mongoid::Document include Mongoid::Timestamps field :title field :slug field :body end
AR で使っていた fixture があるので投入する。
# rails console YAML.load(File.read(Rails.root+"test/fixtures/entries.yml")).each{|idx, data| Entry.new(data).save! }
Entry.count してみるとカウントが取れる。
mongod のログにそれらしきものが残っている。
mongo コンソールにて
> db.entries.find().forEach(function(o) { print(o.title); }) MyString3 MyString-1year-ago MyString4 MyString5 MyString-latest
取れた。Entry -> entries になっているのに注意。
mongo
- db.your_obj.stats で調査、no ns はデータ不在(大抵はオブジェクト名違い)
- コンソールは js なので
- for (var key in db.your_obj) { print(key); } で enum なメンバがプリント出来る。
ソースは github に。