mongo シェルの使用

  [Home] | [先頭ページ] | [DB の管理] | [コレクションの管理] | [コレクションの操作] | [インデックスの操作] | [JavaScript での使用]

DB の管理

DB 一覧を取得するには

show dbs コマンドを実行すると DB 一覧を取得できる。

> show dbs
local   0.03125GB
test    0.0625GB
test1   0.0625GB
>

DB を切り替えるには

use dbname コマンドを実行すると 使用する DB を変更できる。

> use test
switched to db test
>

DB を作成するには

use database コマンドでデータベースを指定して、コレクションにデータを insert すれば同時に DB とコレクションが作成される。

> use test1
switched to db test1
> show dbs
local   0.03125GB
test    0.0625GB
> db.coll.find()
> db.coll.insert({v:1})
> show dbs
local   0.03125GB
test    0.0625GB
test1   0.0625GB
>

DB を削除するには

DB を削除するには use dbname で DB を切り替えて、db.dropDatabase() メソッドを実行する。これは、DB が空でなくても実行できる。

> show dbs
local   0.03125GB
test    0.0625GB
test1   0.0625GB
> db.dropDatabase()
{ "dropped" : "test1", "ok" : 1 }
> show dbs
local   0.03125GB
test    0.0625GB
>

コレクションの管理

コレクション一覧を取得するには

コレクション一覧を取得するには show collections コマンドを使用する。

> show collections
coll
system.indexes
>  

新しいコレクションを作るには

新しいコレクションを作るには、新しいコレクションにデータを挿入すれば同時にコレクションも作成される。

> use db1
> db.coll2.insert({value:1})
> show collections
coll
coll2
system.indexes
>  

コレクションを削除には

コレクションを削除には、db.collection.drop() メソッドを使用する。

> db.coll2.drop()
true
> show collections
coll
system.indexes
>  

コレクション名を変更するには

コレクション名を変更するには db.collection.renameCollection() を使用する。

> show collections
coll
system.indexes
> db.coll.renameCollection("CollNew")
{ "ok" : 1 }
> show collections
CollNew
system.indexes
> 

コレクションの操作

データを追加するには

データを追加するには db.collection.insert() を使用する。コレクションは RDB のテーブルとは異なり、同じ形式のデータである必要はない。

> db.coll.insert({id:1,name:"Tom"})
> db.coll.insert({id:2,name:"Jerry"})
> db.coll.find()
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Tom" }
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
>  

データを削除には

データを削除するには db.collection.remove() メソッドを使用する。

> db.coll.find()
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Tom" }
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
{ "_id" : ObjectId("55aa12dbe1e61f0cbfd96f79"), "id" : 3, "name" : "Snoopy" }
> db.coll.remove({id:3})
> db.coll.find()
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Tom" }
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
>  

データをを変更するには

データをを変更するには db.collection.update() メソッドを使用する。

> db.coll.update({id:1},{id:1,name:"Snoopy"})
> db.coll.find()
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Snoopy" }
>

update メソッドは次のようなパラメータを持つ。option は省略可能で、指定するのであれば、upsert:boolean, multi:boolean, writeConcern:document のどれかである。

db.collection.update(query, update, options)

コレクションの内容を取得するには

コレクションの内容を取得するには db.collection.find() メソッドを使用する。これは次のような形式を持つ。

db.collection.find(query, projection)
> db.coll.find()
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Tom" }
{ "_id" : ObjectId("55aa19a6e1e61f0cbfd96f7a"), "id" : 3, "name" : "Snoopy" }
> db.coll.find({id:2})
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
>  

projection は取得するフィールドの有無を指定する。オブジェクト ID を取得しない場合は、次のようにする。

> db.coll.find({id:2},{_id:0})
{ "id" : 2, "name" : "Jerry" }
>

取得条件に演算子を使用することもできる。

> db.coll.find({id:{$lt:3}},{_id:0})
{ "id" : 2, "name" : "Jerry" }
{ "id" : 1, "name" : "Tom" }
>

コレクションのレコード数を得るには

コレクションのレコード数を得るには db.collection.count() を使用する。

> db.coll.count()
3
> db.coll.count({id:{$lt:3}},{_id:0})
2
>  

異なるフィールドの一覧を得るには

異なるフィールドの一覧を得るには db.collection.distinct() を使用する。

> db.coll.find()
{ "_id" : ObjectId("55aa10f8e1e61f0cbfd96f78"), "id" : 2, "name" : "Jerry" }
{ "_id" : ObjectId("55aa10eee1e61f0cbfd96f77"), "id" : 1, "name" : "Tom" }
{ "_id" : ObjectId("55aa19a6e1e61f0cbfd96f7a"), "id" : 3, "name" : "Snoopy" }
{ "_id" : ObjectId("55aa2459e1e61f0cbfd96f7b"), "id" : 4, "name" : "Tom" }
> db.coll.distinct("name")
[ "Jerry", "Tom", "Snoopy" ]
>  


インデックスの操作

MongoDB にも RDB のようなインデックスがある。

インデックスを作るには

インデックスを作るには db.collection.createIndex() を使用する。

> db.coll.createIndex({id:1})
>

インデックスを削除するには

インデックスを削除するには db.collection.dropIndex() を使用する。

> db.collection.dropIndex("id")
{ "ok" : 0, "errmsg" : "ns not found" }
>

インデックスを表示するには

インデックスを表示するには db.collection.getIndexes() を使用する。

> db.collection.getIndexes()
[ ]

次のページ

 [JavaScriptでの使用]

 


このページの先頭へ