fc2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム »データベース
このページの記事一覧

【MongoDB】Windows版 MongoDB をインストールして使う  


ドキュメント指向DBと言われる MongoDB をインストールして使ってみる。
覚えやすいように RDBMS や SQL と結びつけて考えてみる。


まずは、インストール(Windows版)。

1.msi バイナリをダウンロードする。
http://www.mongodb.org/downloads

2.起動したインストーラーで「Custom」を選び、インストールするディレクトリを変更する。

3.インストールしたディレクトリの「bin」に パスを通す(D:\MongoDB\bin など)。

4.インストールしたディレクトリにデータベース用の「data」フォルダ(D:\MongoDB\data など)、ログ用の「logs」フォルダ(D:\MongoDB\logs など)を作る(※権限も書き込み可が良い)。

5.コマンドプロンプトからサービスを起動する(オプションに「data」と「logs」のパスを指定)。
mongod --dbpath D:\MongoDB\data --logpath D:\MongoDB\logs\mongodb.log
※常駐させたいときは、--install オプションを追加して、サービスコントロールパネル(Win8なら、タスクマネージャーのサービス)等で、MongoDB の状態を「開始」にすれば良い(確認済)。またはサービス名を付けて(--serviceName)、net コマンドあたりでもできるかも(未確認)。

6.もう1つコマンドプロンプトを開いて、今度は MongoDB のコマンドラインクライアントを起動する(mongo.exe)。
mongo

7.MongoDB shell が起動すれば完了。help でヘルプ、exit で終了できる。



とりあえず、RDBMS にたとえると、「コレクション」がテーブルで、「ドキュメント」がレコードと考える。
「SQL:」と書いてあるのは、あくまで近いSQL文など。

以下、コマンドラインでの簡単な構文のテスト。

■データベースの一覧 [SQL: show databases]
> show dbs

■データベースの切り替え(※名前を指定) [SQL: use]
> use test

■コレクション(テーブル)の一覧 [SQL: show tables]
> show collections


※以下 db.things を現在のコレクションとする。なお、コレクションは自動で作られる(SQL: create table は不要)。

■ドキュメント(レコード)の追加 [SQL: insert]
> db.things.save( {"name":"Taro", "age":19} );

■ドキュメント(レコード)の一覧 [SQL: select * ]
> db.things.find();

■ドキュメント(レコード)の更新 [SQL: update]
> db.things.update( {"name":"Taro", "age":19}, {"name":"T-row", "age":20} );

■ドキュメント(レコード)内の数値インクリメント(更新)
> db.things.update( {"name":"T-row", "age":20}, { $inc : {"age":1} } );

■ドキュメント(レコード)の削除 [SQL: delete]
> db.things.remove( {"name":"T-row"} );


最近の更新の早いシステムは、確かに RDBMS では限界があるよね。カラム増やすと無駄も多くなるし。
その点、このデータ構造ならいつでもカラム増やせるし、仕様変更も楽な気がする。
データは JSON なので、通信もやりやすいし、構文もプログラマ向けだね。


(関連記事)
【Java】【JSON】Google Gson(Json) を Eclipse にインポートして使う
【Java】【PHP】【JSON】JSON を PHP から送信して、Java で受信する
【Java】【PHP】【JSON】JSON を Java から送信して、PHP で受信する



関連記事
スポンサーサイト



category: 環境構築

thread: プログラミング

janre: コンピュータ

tag: JSON  データベース  開発ツール  インストール 
tb: 0   cm: --


プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop