【NoSQL】 MongoDB ~ 基本編 ~

■ はじめに

 * MongoDBに関する知識や設定については、以下の関連記事を参照のこと。
MongoDB ~入門編~
https://blogs.yahoo.co.jp/dk521123/32984717.html

■ 基本的な使用方法

 * 以下のサイトが参考になる
http://taka512.hatenablog.com/entry/20110220/1298195574

MongoDBを使用するには

 * コマンドプロンプトを立ち上げて、「mongo.exe」がある場所まで移動し、「mongo.exe」を実行
    ~~~
     cd C:\mongodb\bin
     mongo.exe
    ~~~

 ※ その前に、別のコマンドプロンプトで「mongod.exe(MongoDBの本体)」を立ち上げておくこと

  そうしないと、「Error: Couldn't connect to server 127.0.0.1 shell/mongo.js ... exception: connect failed」
    が表示され、失敗する。

■ データベースの作成

構文

use [データベース名]

use sampleDB

■ データの挿入

構文

db.[コレクション名].insert({"フィールド名1" : [データ1], ... })

[例1] db.sampleDoc.insert( { "id" : 1, "name" : "Mike" } );
[例2] db.sampleDoc.insert( { "id" : 2, "name" : "Tom" } );
[例3] db.sampleDoc.insert( { "id" : 3, "name" : "Kevin" } );
[例4] db.sampleDoc.insert( { "id" : 4, "name" : "Ken" } );
[例5]   db.sampleDoc.insert( { "KindOfSix" : [ "None", "Man" , "Woman" ] } )

■ データの更新

構文

db.[コレクション名].update({フィールド名1 : [データ1]}, { $set: { フィールド名2 : [変更後のデータ]"
 } }... })

db.sampleDoc.update( { id : 1 }, { $set: { name : "Tommy" } } );

■ データの削除

構文

db.[コレクション名].remove({フィールド名1 : [データ1]});

db.sampleDoc.remove({ id : 4 });

■ ドキュメントの参照 (複数件表示)

構文

db.[ドキュメント名].find();

[例1]  db.sampleDoc.find();
[例2]  db.sampleDoc.find({id : {$gt: 2}}); // id が2を超えているデータが表示される
[例3]  db.sampleDoc.find({id : {$gt: 1, $lt: 3}}); // id > 1 and id < 3

■ ドキュメントの参照 (一件表示)

構文

db.[ドキュメント名].findOne({[フィールド名1]:[データ1], ... })

db.sampleDoc.findOne({id:1});

■ 表示順を指定

 * 昇順でソートを行いたい場合は、sortに「1」を指定
 * 降順でソートを行いたい場合は、sortに「-1」を指定

構文

db.[ドキュメント名].find().sort({[フィールド名1]:-1(or 1)});

db.sampleDoc.find({id : {$gt: 1}}).sort({id: -1});

■ ページング(件数の制限)

構文:基本形

db.[ドキュメント名].find().limit([表示件数]);

例:基本形

db.sampleDoc.find().limit(2);

構文:飛ばしたい場合

db.[ドキュメント名].find().limit([表示件数]).skip([スキップしたい件数]);

例:飛ばしたい場合

db.sampleDoc.find().limit(3).skip(1);

■ カウント(件数を表示)

構文

db.[ドキュメント名].find().count();

db.sampleDoc.find({id : {$gt: 1}}).count();

■ 列の追加

構文

db.[コレクション名].save([ドキュメント・オブジェクト]);

var result = db.sampleDoc.findOne({ id : 1 });
result.age = 23 // 列を設定
db.sampleDoc.save(result); // 列を追加
db.sampleDoc.findOne({ id : 1 }); // ここで確認

■ その他

データベース表示

show dbs

テーブル(コレクション)表示

show tables
(or show collections)


関連記事

MongoDB ~ 入門編 ~

https://blogs.yahoo.co.jp/dk521123/32984717.html

Node.js ~ 基本編 / MongoDB を使う ~

https://blogs.yahoo.co.jp/dk521123/37594798.html