インストール
公式サイトからプラットフォームに合ったものをダウンロード。
解凍して任意のディレクトリに配置。
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()
とする。

Copyright© 2011-2021 Shunsuke Otani All Right Reserved .