提供: tty00

移動: 案内検索

システム構成

  • MongoDB:mongodb-linux-i686-2.4.8
  • OS:Debian

インストール

MongoDBのダウンロード

http://www.mongodb.org/からmongodb-linux-i686-2.4.8.tgzをダウンロードする。

ファイルを解凍する

tar -zxvf mongodb-linux-i686-2.4.8.tgz

MongoDBの起動

mongod --dbpath <データを格納するパスを指定>

MongoDBの停止

ターミナルでControl+Cを押す。

データベースクライアント

データベースクライアントの起動

mongo

コマンド一覧

コマンド一覧
メソッド 説明
help ヘルプを表示する
show dbs データベースの一覧を表示する
show collections コレクションの一覧を表示する
use <db_name> 現在のデータベースをセットする
exit mongoシェルを終了する

クエリ

データの挿入

定義

db.collection.insert(document)

db.col.insert({name:"dog",age:5})

データの更新

定義

db.collection.update(
   <query>,
   <update>,
   { upsert: <boolean>, multi: <boolean> }
)
パラメータ 説明
<query> 更新対象の条件を指定する
<update> 更新内容を指定する
upsert true:<query>に一致するドキュメントが存在しないとき、新たにドキュメントを追加する
false:<query>に一致するドキュメントが存在しないとき、新たにドキュメントを追加しない
multi true:<query>に一致するすべてのドキュメントを書き換える
false:<query>に最初に一致したドキュメントを書き換える

db.col.update( {name:"dog",age:5},{$set:{age:10}})

データの検索

定義

db.collection.find(<criteria>, <projection>)
パラメータ 説明
<criteria> 検索対象の条件を指定する
<projection> フィールドの表示を指定する

コレクション内のデータ

{ "_id" : ObjectId("52bae54cf220dd74efadfb72"), "name" : "dog", "age" : 5 }
{ "_id" : ObjectId("52bae54ef220dd74efadfb73"), "name" : "dog", "age" : 10 }
{ "_id" : ObjectId("52bae551f220dd74efadfb74"), "name" : "dog", "age" : 15 }
{ "_id" : ObjectId("52bae563f220dd74efadfb75"), "name" : "cat", "age" : 5 }
{ "_id" : ObjectId("52bae566f220dd74efadfb76"), "name" : "cat", "age" : 10 }
{ "_id" : ObjectId("52bae568f220dd74efadfb77"), "name" : "cat", "age" : 15 }
すべてのドキュメンを検索する
  • クエリ
db.col.find()
  • 結果
{ "_id" : ObjectId("52bae54cf220dd74efadfb72"), "name" : "dog", "age" : 5 }
{ "_id" : ObjectId("52bae54ef220dd74efadfb73"), "name" : "dog", "age" : 10 }
{ "_id" : ObjectId("52bae551f220dd74efadfb74"), "name" : "dog", "age" : 15 }
{ "_id" : ObjectId("52bae563f220dd74efadfb75"), "name" : "cat", "age" : 5 }
{ "_id" : ObjectId("52bae566f220dd74efadfb76"), "name" : "cat", "age" : 10 }
{ "_id" : ObjectId("52bae568f220dd74efadfb77"), "name" : "cat", "age" : 15 }
フィールドを指定して検索する
  • クエリ
db.col.find({name:"dog"})
  • 結果
{ "_id" : ObjectId("52bae54cf220dd74efadfb72"), "name" : "dog", "age" : 5 }
{ "_id" : ObjectId("52bae54ef220dd74efadfb73"), "name" : "dog", "age" : 10 }
{ "_id" : ObjectId("52bae551f220dd74efadfb74"), "name" : "dog", "age" : 15 }
クエリーオペレーションを使用して検索する
  • クエリ
db.col.find({age:{$in:[5,15]}})
  • 結果
{ "_id" : ObjectId("52bae54cf220dd74efadfb72"), "name" : "dog", "age" : 5 }
{ "_id" : ObjectId("52bae551f220dd74efadfb74"), "name" : "dog", "age" : 15 }
{ "_id" : ObjectId("52bae563f220dd74efadfb75"), "name" : "cat", "age" : 5 }
{ "_id" : ObjectId("52bae568f220dd74efadfb77"), "name" : "cat", "age" : 15 }
特定のフィールドを取得する
  • クエリ
db.col.find({},{_id:0,age:1})
  • 結果
{ "age" : 5 }
{ "age" : 10 }
{ "age" : 15 }
{ "age" : 5 }
{ "age" : 10 }
{ "age" : 15 }

データの削除

定義

db.collection.remove(<query>, <justOne>)
パラメータ 説明
<query> 削除対象の条件を指定する
<justOne> true:ドキュメントを1つ削除する
false:クエリーに一致したドキュメントをすべて削除する
デフォルト:false

すべてのドキュメンを削除する
db.col.remove()
条件に一致するドキュメントを削除する
db.col.remove( {name:"dog"} )