mongoDB使ってみた

mongoDB ?

Redis、Memcachedにならぶ最近流行りのNoSQL(Not Only SQL)です。
いわゆるRDBMSではなく、KVS(Key-Value Store)型のデータベースです。

Install

今回はbrewでinstallします。
(Homebrewのinstallは省略)

brew install mongodb

起動

mongoで起動

$ mongo  
MongoDB shell version: 2.2.2
connecting to: test
> 

コマンド

・データベースの作成

mongoにはcreateコマンドはなくて、useコマンドで指定したデータベースの名前が存在しなければ、新たに作られてスイッチされます。
存在してればそのデータベースにスイッチします。

> use sample
switched to db sample
・存在するデータベースの確認

中身の無いデータベースは表示されないようです。

> show dbs
local   (empty)
・使用中のデータベースの確認
> db
sample
・コレクションとドキュメントの作成(Create)

コレクションはSQLでいうテーブルでドキュメントはレコードみたいなイメージでしょうか。
データはハッシュのような形式で挿入します。
データベース作成の時と同じでコレクション名も存在しなければ、新たに作成されます。

#db.コレクション名.insert({k1:"v1",k2:"v2"})
 > db.col1.insert({k1:"v1",k2:"v2"})
・取得(Read)
> db.col1.find()
{ "_id" : ObjectId("5185bc49a2403c37452359d5"), "k1" : "v1", "k2" : "v2" }
・更新(Update)
> db.col1.update({k1:"v1"}, {$set:{k2:"update"}})
> db.col1.find()
{ "_id" : ObjectId("5185bc49a2403c37452359d5"), "k1" : "v1", "k2" : "update" }
・削除(Delete)
> db.col1.remove({k1:"v1"})


とりあえず、CRUDの基本コマンドのみ。
コマンド自体はあんまり難しくないけど、SQL慣れてるからちょっと違和感が。
フレームワークで触りたい(笑)

nayamagu