MongoDB

http://www.mongodb.org/

インストール(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 にデータを保存するようになっている。

ubuntu 上で mongoDB が突然落ちたときの修復方法 | Yuki Nishijima Blog

GUI

デフォルトでWebインタフェースが用意されている

http://localhost:28017/

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 はこちら。