MongoDB
インストール(Ubuntu)
$ sudo apt-get install mongodb
これだとバージョンが低め。Mongoid2が使えない。
最新版を入れるにはこちら
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
使い方
http://www.mongodb.org/display/DOCS/Quickstart+Unix
mongoクライアント
$ mongo
> db.foo.save( { a : 1 } )
> db.foo.find()
mongoクライアントの使い方
http://www.mongodb.org/display/DOCS/Tutorial
mongodサーバ起動・停止など
$ sudo service mongodb [start|stop|restart|status]
設定ファイルは /etc/mongodb.conf
Ubuntuはデフォルトだと /var/lib/mongodb にデータを保存するようになっている。
日本語ドキュメント 少しだけ日本語ドキュメントがある
mongodump, mongostoreでバックアップできる
ubuntu 上で mongoDB が突然落ちたときの修復方法 | Yuki Nishijima Blog
GUI
デフォルトでWebインタフェースが用意されている
Ruby Driver
http://www.mongodb.org/display/DOCS/Ruby+Language+Center
Ruby用ライブラリインストール
$ sudo gem install mongo bson
bsonはbson_extでも良い。
Ruby Driverの使い方
http://api.mongodb.org/ruby/current/file.TUTORIAL.html
DB接続
db = Mongo::Connection.new.db("mydb")
coll = db["testCollection"] または db.collection('testCollection')
挿入
coll.insert(doc)
更新
doc["name"] = "MongoDB Ruby"
coll.update({"_id" => doc["_id"]}, doc)
または
coll.update({"_id" => doc["_id"]}, {"$set" => {"name" => "MongoDB Ruby"`)
個数
coll.count()
検索
coll.find("i" => 71).each { |row| puts row.inspect }
coll.find("i" => {"$gt" => 50}, :fields => ["a", "b"]).each { |row| puts row }
coll.find({"name" => /^a/})
一件検索
my_doc = coll.find_one()
puts my_doc.inspect
ドキュメント
Mongoid はこちら。