MongoDBについての各種コマンドメモ。MongoDBバージョンは3.0.3です。
■MongoDB
・特徴
・NoSQL(NotOnlySQL)。RDBではない。
・ドキュメント指向データベース
・ライセンス GNU AGPL v3.0(ドライバはApache License)
・マルチプラットフォーム(Windows, Linux, OS X, Solaris)
・各種言語サポート。(Node.jsとも相性がいい)
・公式サイト
https://www.mongodb.org/
・インストール
普通にダウンロードして、MSIインストーラーにしたがって、インストール。
環境変数のPATHにインストールフォルダ配下のbinフォルダを追加。
(コマンド)
以下は基本的にコマンドプロンプトから実行する。
・バージョン確認
mongo -version
・DB起動
mongod
※--dbpathオプションを指定しない場合、データ格納場所は「c:\data\db」となる。
データ格納場所がない場合は起動エラーとなる。
・DB起動(データ格納場所指定)
mongod --dbpath D:\myproject\mongodb\data
・MongoDBのWindowsサービス登録
mongod --dbpath D:\myproject\mongodb\data --install --logpath D:\myproject\mongodb\logs\logs.txt
※コマンドプロンプトは管理者権限で実行していないと失敗する。
・DBサービス接続
mongo
※デフォルトの接続DBは「test」
(問い合わせコマンド)
以下は、mongoコマンドでDB接続した状態で実行する。
・DB作成・切り替え(無ければ作成)
use <DB名>
例)use sample_db
・データ登録
db.<コレクション名>.insert({登録内容});
※コレクションはRDBのテーブルのようなもの。
例) db.user.insert({ _id : 1 , name : '田中 太郎' } );
・データ更新
db.<コレクション名>.update({条件}, {更新内容});
例) db.user.update({ _id : 1 }, { $set : { name: "鈴木 太郎" } });
・データ削除
db.<コレクション名>.remove({条件});
例) db.user.remove({ _id : 1 });
・検索(全件)
db.<コレクション名>.find();
例) db.user.find();
・検索(条件指定)
db.<コレクション名>.find({条件});
例) db.user.find({ name: {$eq:"鈴木 太郎"} });
「$eq」部分は比較演算子。
$eq 等しい
$ne 等しくない
$gt 右辺より大きい
$gte 右辺以上
$lt 右辺未満
$lte 右辺以下
・コレクション削除
db.<コレクション名>.drop();
例) db.user.drop();