「基礎入門」MongoDB基本DDLとDMLの操作方法のまとめ
1.データベースの作成
> show dbs
admin 0.03125GB
local (empty)
pagedb_startnews24_startnews24 0.03125GB
test 0.03125GB
> use LuceneIndexDB
switched to db LuceneIndexDB
> show dbs
admin 0.03125GB
local (empty)
pagedb_startnews24_startnews24 0.03125GB
test 0.03125GB
> db
LuceneIndexDB
> db.storeCollection.save({'version’:’3.5′, 'segment’:’e3ol6′})
> show dbs
LuceneIndexDB 0.03125GB
admin 0.03125GB
local (empty)
pagedb_startnews24_startnews24 0.03125GB
test 0.03125GB
>
2.データベースを削除
db.dropDatabase()
3.コレクション(collection)を作成
コマンド
db.createCollection(name, { size : …, capped : …, max : … } )
例
> db.createCollection('replicationColletion’, {'capped’:true, 'size’:10240, 'max’:17855200})
{ “ok" : 1 }
> show collections
replicationColletion
storeCollection
system.indexes
4.コレクションを削除
db.mycoll.drop()
5.レコードを挿入更新
> <em>db.storeCollection.save({'version’:’3.5′, 'segment’:’e3ol6′})</em>
6.レコードをクエリ
> db.storeCollection.findOne({'version’:’3.5′})
{
“_id" : ObjectId(“4ef970f23c1fc4613425accc"),
“version" : “3.5",
“segment" : “e3ol6"
}
7.複数のレコードをクエリ
find()
8.レコードを削除
> db.storeCollection.remove({'version’:’3.5′})
> db.storeCollection.findOne()
null
9.インデックスを作成
> use pagedb_startnews24_startnews24
switched to db pagedb_startnews24_startnews24
> db.page.ensureIndex({'title’:1, 'url’:-1})
> db.system.indexes.find()
{ “name" : “_id_", “ns" : “pagedb_startnews24_startnews24.page", “key" : { “_id" : 1 }, “v" : 0 }
{ “name" : “_id_", “ns" : “pagedb_startnews24_startnews24.system.users", “key" : { “_id" : 1 }, “v" : 0}
{ “_id" : ObjectId(“4ef977633c1fc4613425accd"), “ns" : “pagedb_startnews24_startnews24.page", “key" : {“title" : 1, “url" : -1 }, “name" : “title_1_url_-1", “v" : 0
10.インデックスをクエリ
> db.page.getIndexes()
[
{
“name" : “_id_",
“ns" : “pagedb_startnews24.page",
“key" : {
“_id" : 1
},
“v" : 0
},
{
“_id" : ObjectId(“4ef977633c1fc4613425accd"),
“ns" : “pagedb_startnews24.page",
“key" : {
“title" : 1,
“url" : -1
},
“name" : “title_1_url_-1",
“v" : 0
}
]
11.インデックスを削除
db.mycoll.dropIndex(name)
db.mycoll.dropIndexes()
12.インデックスを再構築
> db.page.reIndex()
{
“nIndexesWas" : 2,
“msg" : “indexes dropped for collection",
“ok" : 1,
“nIndexes" : 2,
“indexes" : [
{
“name" : “_id_",
“ns" : “pagedb_startnews24.page",
“key" : {
“_id" : 1
},
“v" : 0
},
{
“_id" : ObjectId(“4ef977633c1fc4613425accd"),
“ns" : “pagedb_startnews24.page",
“key" : {
“title" : 1,
“url" : -1
},
“name" : “title_1_url_-1",
“v" : 0
}
],
“ok" : 1
}
13.コレクション集合レコードを統計
> use fragment
switched to db fragment
> db.baseSe.count()
36749
14.レコード数をクエリして統計
> use fragment
switched to db fragment
> db.baseSe.find().count()
36749
15.指定されるデータベースの集合の利用可能ストレージ
> db.baseSe.storageSize()
142564096
16.指定されるデータベースの集合の利用総ストレージ
> db.baseSe.totalSize()
144096000