How to use “MongoDB” + “RESTHeart”

Last Update: 2016/09/25, Written by Hiroyuki Matsuo

この文書は中島さんのメモを一部参考にしています.

MongoDB の導入(on Windows)

  1. 公式サイトから MongoDB をダウンロードし,インストール

    ダウンロードした .msi ファイルをダブルクリック.
    デフォルト設定のままインストールしてよい.

  2. MongoDB のバイナリにパスを通す

    パスを通すフォルダ:C:\Program Files\MongoDB\Server\3.2\bin

    3.2 の部分は MongoDB のバージョンにより変化.

  3. 以下のフォルダを作成する

    > mkdir C:\MongoDB\Storage C:\MongoDB\Logs
    
  4. 設定ファイルを作成する

    以下の内容を C:\MongoDB\mongod.cfg として保存.

    systemLog:
       destination: file
       path: C:\MongoDB\Logs\mongod.log
       logAppend: true
    storage:
       journal:
          enabled: true
       dbPath: C:\MongoDB\Storage
    net:
       http:
          enabled: true
          JSONPEnabled: true
          RESTInterfaceEnabled: true
    

以上で導入は完了.MongoDB におけるフォルダ構成は以下の通り.

C:
├─ Program Files
│   └─ MongoDB
│        └─ Server
│             └─ 3.2
│                  └─ bin
│                       ├─ mongod.exe
│                       ├─ mongo.exe
│                       └─ ...
├─ MongoDB
│   ├─ Logs
│   │   └─ mongod.log
│   ├─ Storage
│   │   └─ ...
│   └─ mongod.cfg
└─ ...

RESTHeart の導入(on Windows)

公式サイトから RESTHeart をダウンロードし,解凍するだけ.

ここでは C ドライブ直下に解凍・展開することとする.

.jar ファイルの場所は C:\restheart-2.0.2\restheart.jar となる.

MongoDB + RESTHeart の起動

  1. コマンドプロンプトを起動し,管理者権限で mongod.exe(サーバプログラム)を実行

    > mongod --config C:\MongoDB\mongod.cfg
    
  2. 別のコマンドプロンプトを起動し,restheart.jar を実行

    > java -jar C:\restheart-2.0.2\restheart.jar
    

以上の操作で,MongoDB および RESTHeart が起動する.

RESTHeart を用いた MongoDB へのデータの書き込み

Ajax(Asynchronous JavaScript + XML)通信を用いて,RESTHeart にリクエストを送ることで,MongoDB に任意のデータを書き込む(insert)ことができる.

なお,以下では,JSON 形式のデータ json_data を,データベース DB のコレクション COL に書き込むことを考える.

また,RESTHeart のホストは localhost127.0.0.1),ポート番号は 8080 とする.

jQuery を用いる場合

jQuery の ajax() メソッドを用いて,以下のようにするとよい.

$.ajax({
    'url'        : 'http://localhost:8080/DB/COL/',
    'type'       : 'POST',
    'contentType': 'application/json',
    'data'       : json_data
});

なお,Node.js 用の jQuery は一部動作が異なるようなので,次節の SuperAgent を用いるのがよいかも.

SuperAgent を用いる場合

Node.js 上で走る JavaScript から MongoDB に書き込みたい場合,SuperAgent ライブラリの post() メソッドを用いて,以下のようにするとよい.

$ npm install superagent
var request = require('superagent');
request
    .post('http://localhost:8080/DB/COL/')
    .set('Content-Type', 'application/json')
    .send(json_data)
    .end(function (err, res) {
        // コールバック処理
    });

その他の MongoDB の操作

MongoDB のクライアントプログラムは mongo.exe

コマンドプロンプトを起動し,以下のようにすると MongoDB にアクセスできる.

> mongo

データベースの作成,コレクションの作成,ドキュメントの取得などの操作については,以下のページが参考になる.

参考:MongoDB コマンドメモとか書き