インストール
公式サイトからプラットフォームに合ったものをダウンロード。解凍して任意のディレクトリに配置。
MongoDB サーバの起動
{MongoDB インストールディレクトリ}/bin/mongod で起動する。…が、以下のようなエラーが。
Sun Jan 08 22:23:56 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminatingデータディレクトリ(デフォルトではルート直下の/data/db)が無いと言われているので、
ディレクトリを作成するか起動時のオプションでデータディレクトリを指定する必要がある。
{インストールディレクトリ}/data/db を作成し、
カレントディレクトリ {インストールディレクトリ}/bin/ から相対指定してみることにする。
mongod --dbpath=../data/db無事起動成功。
シェルから操作
起動してログイン
{インストールディレクトリ}/bin/mongo でシェルを起動する。以下のように表示されれば起動成功。デフォルトでは「test」DBに接続するようだ。
MongoDB shell version: 2.0.2 connecting to: test >
DB の変更
「zaneli」DB に変更する。> use zaneli switched to db zaneli現在のDBを確認する。
> db zaneli全てのDBを一覧表示する。
> show dbs local (empty) zaneli (empty)
データの登録・参照・削除
「coll1」コレクションにデータを登録。> db.coll1.save({"name":"tarou","age":20}) > db.coll1.save({"name":"jirou","age":25})「coll1」コレクション全件を取得する。
> db.coll1.find() { "_id" : ObjectId("4f099dfc477d5b936fee3946"), "name" : "tarou", "age" : 20 } { "_id" : ObjectId("4f099e02477d5b936fee3947"), "name" : "jirou", "age" : 25 }「_id」フィールドは自動生成されるようだ。
_id を除くフィールドを取得するには、
> db.coll1.find({}, {_id:0}) { "name" : "tarou", "age" : 20 } { "name" : "jirou", "age" : 25 }_id のみを取得するには、
> db.coll1.find({}, {_id:1}) { "_id" : ObjectId("4f099dfc477d5b936fee3946") } { "_id" : ObjectId("4f099e02477d5b936fee3947") }特定のレコードのみ検索するには、
> db.coll1.find({"name":"tarou"}) { "_id" : ObjectId("4f099dfc477d5b936fee3946"), "name" : "tarou", "age" : 20 }とする。
現在のDBの全コレクション一覧の取得は
> show collections coll1 system.indexesとする。
「coll1」コレクションの削除は、
> db.coll1.drop()現在のDBの削除は、
> db.dropDatabase()とする。