まず結論から言うと、MongoDBは本当に面白いデータベースです、今後のサイト構築は使うでしょう。
#mongodbシェルに入る $mongo #現在DB一覧 show dbs; #利用DBに切り替える use local use blog_db; #コレクション作成(テーブル) db.createCollection("users"); show dbs; #dbコマンドヘルプ db.help(); #現在DB状態 db.stats(); #現在DB削除 db.dropDatabase(); #DB一覧 show dbs; use blog_db; db.createCollection("posts"); #コレクション一覧 show collections; #コレクション削除 db.users.drop(); #コレクションリネーム db.posts.renameCollection("threads"); #mongodbシェル終了 exit #blog_dbに入る $mongo blog_db #コレクション一覧 show collections; #usersコレクションにデータを追加 db.users.insert({"name":"koma","address":"tokyo","point":100}); #usersコレクションデータ検索 db.users.find(); #usersコレクションに違うスキマーデータを追加 db.users.insert({"name":"xiaoma", "skill":["linux","unix","mac os"]}); db.users.find(); #usersコレクション削除 db.users.remove(); db.users.find(); show collections; db.users.find(); #大量データ追加(javascriptで) for(var i = 0; i < 10; i++) { db.users.insert({"name":"user-" + i, "group": i%3, "point": Math.floor(Math.random() * 100)}); } db.users.find(); #検索条件付き(group=1) db.users.find({"group":1}); #検索項目指定(name) db.users.find({"group":1}, {"name":true}); #検索条件(group<>1) db.users.find({"group":{$ne:1}}); //1以外を #検索条件(point>40) db.users.find({"point":{$gt:40}}); $gt > $gte >= $lt < $lte <= #検索条件(point>40 and point<60) db.users.find({"point":{>:40, <:60}}); #検索条件(正規表現) db.users.find({"name":{$regex:/user-[0-4]/i}}); #検索結果並び替え(point asc) db.users.find().sort({"point":1}); // 1=asc;-1:desc #SELECT TOP 1 db.users.findOne(); #検索件数制限(最初の3件) db.users.find().limit(3); #検索件数制限(3個目から3件) db.users.find().skip(2).limit(3); #検索件数 db.users.find().count(); #SELECT DISTINCT group db.users.distinct("group"); #SELECT IN db.users.find({"name":{$in:["user-3", "user-7"]}}); //in #SELECT NOT IN db.users.find({"name":{$nin:["user-3", "user-7"]}}); //not in #データ追加 db.users.insert({"address":"my address content"}); #address項目存在のみデータ抽出 db.users.find({"address":{$exists:true}}); #インデックス情報取得 db.users.getIndexes(); #インデックス作成 db.users.ensureIndex({"point":1}); //1:asc;-1:desc db.users.getIndexes(); #インデックス削除 db.users.dropIndex({"point":1}); db.users.getIndexes(); #唯一インデックス作成 db.users.ensureIndex({"name":1}, {"unique":true}); db.users.insert({"name":"user-5"}); #データ更新(CLEAR更新) db.users.update({"name":"user-1"}, {"point":100}); db.users.find(); #データ更新(指定項目) db.users.update({"name":"user-2"}, {$set:{"point":100}}); db.users.find(); #データ更新(数値累計) db.users.find({"name":"user-3"}, {$inc:{"point":10}}); db.users.find(); #データ更新(項目削除) db.users.update({"name":"user-4"}, {$unset:{"point":1}}); db.users.find(); #データ更新(項目名変更) db.users.update({"name":"user-5"}, {$rename:{"group":"mygroup"}}); db.users.find(); #データあれば更新、なければ作成 db.users.update({"name":"user-10"}, {$inc:{"point":10}}, true); //upsert db.users.find(); #最初の1件だけ+100 db.users.update({}, {$inc:{"point":100}}); #全件+100 db.users.update({}, {$inc:{"point":100}}, false, true); #コマンドバッチ作成 $nano batch.js ... db.users.remove({"name":"user-10"}); ... #バッチ実行(コマンドライン) $mongo blog_db batch.js $mongo blog_db db.users.find(); #バッチ実行(load関数) load("batch.js"); //load script db.users.find(); #DBバックアップ $mongodump --db blog_db #DBリストア $mongorestore --drop
0 件のコメント:
コメントを投稿