提供: tty00
(→) |
(→すべてのドキュメンを削除する) |
||
| (同じ利用者による、間の17版が非表示) | |||
| 行11: | 行11: | ||
=== MongoDBの起動 === | === MongoDBの起動 === | ||
| − | mongod --dbpath | + | mongod --dbpath <データを格納するパスを指定> |
=== MongoDBの停止 === | === MongoDBの停止 === | ||
ターミナルでControl+Cを押す。 | ターミナルでControl+Cを押す。 | ||
| + | |||
| + | == データベースクライアント == | ||
| + | === データベースクライアントの起動 === | ||
| + | mongo | ||
| + | |||
| + | === コマンド一覧 === | ||
| + | {| class="wikitable" | ||
| + | |+コマンド一覧 | ||
| + | !メソッド|| 説明 | ||
| + | |- | ||
| + | | help || ヘルプを表示する | ||
| + | |- | ||
| + | | show dbs|| データベースの一覧を表示する | ||
| + | |- | ||
| + | | show collections || コレクションの一覧を表示する | ||
| + | |- | ||
| + | | use <db_name> || 現在のデータベースをセットする | ||
| + | |- | ||
| + | | exit || mongoシェルを終了する | ||
| + | |} | ||
| + | |||
| + | == クエリ == | ||
| + | === データの挿入 === | ||
| + | ==== 定義 ==== | ||
| + | <source lang=javascript> | ||
| + | db.collection.insert(document) | ||
| + | </source> | ||
| + | |||
| + | ==== 例 ==== | ||
| + | db.col.insert({name:"dog",age:5}) | ||
| + | |||
| + | === データの更新 === | ||
| + | ==== 定義 ==== | ||
| + | <source lang=javascript> | ||
| + | db.collection.update( | ||
| + | <query>, | ||
| + | <update>, | ||
| + | { upsert: <boolean>, multi: <boolean> } | ||
| + | ) | ||
| + | </source> | ||
| + | |||
| + | {| class="wikitable" | ||
| + | !パラメータ|| 説明 | ||
| + | |- | ||
| + | |<query>||更新対象の条件を指定する | ||
| + | |- | ||
| + | |<update>||更新内容を指定する | ||
| + | |- | ||
| + | |upsert||true:<query>に一致するドキュメントが存在しないとき、新たにドキュメントを追加する<br>false:<query>に一致するドキュメントが存在しないとき、新たにドキュメントを追加しない<br> | ||
| + | |- | ||
| + | |multi||true:<query>に一致するすべてのドキュメントを書き換える<br>false:<query>に最初に一致したドキュメントを書き換える | ||
| + | |} | ||
| + | |||
| + | ==== 例 ==== | ||
| + | db.col.update( {name:"dog",age:5},{$set:{age:10}}) | ||
| + | |||
| + | === データの検索 === | ||
| + | ==== 定義 ==== | ||
| + | <source lang=javascript> | ||
| + | db.collection.find(<criteria>, <projection>) | ||
| + | </source> | ||
| + | {| class="wikitable" | ||
| + | !パラメータ|| 説明 | ||
| + | |- | ||
| + | |<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 } | ||
| + | |||
| + | === データの削除 === | ||
| + | ==== 定義 ==== | ||
| + | <source lang=javascript> | ||
| + | db.collection.remove(<query>, <justOne>) | ||
| + | </source> | ||
| + | |||
| + | {| class="wikitable" | ||
| + | !パラメータ|| 説明 | ||
| + | |- | ||
| + | |<query>||削除対象の条件を指定する | ||
| + | |- | ||
| + | |<justOne>||true:ドキュメントを1つ削除する<br>false:クエリーに一致したドキュメントをすべて削除する<br>デフォルト:false | ||
| + | |} | ||
| + | |||
| + | ==== 例 ==== | ||
| + | =====すべてのドキュメンを削除する ===== | ||
| + | db.col.remove() | ||
| + | |||
| + | ===== 条件に一致するドキュメントを削除する ===== | ||
| + | db.col.remove( {name:"dog"} ) | ||
2013年12月26日 (木) 21:10時点における最新版
システム構成
- 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"} )