NoSQLに分類されるデータベースシステムであるMongoDBを、node.js + Express4環境で使ってみましょう。

MongoDBの特徴

  • カラム、レコードの概念がない
  • オブジェクトを直接DBに保存できる

つかいかた

1. package.jsonに記述

mongooseというモジュールを追加します。
以下の記述をpackage.jsonに追加します。

1
"mongoose": "*"

その後、npm installします。 これでExpress側の設定はおわり。

2. MongoDBをPCにインストール

Macなら、brewを用いて

1
$ brew install mongo

でインストール出来ました。その他は調べてください。
これでMongoDBを使用する準備が出来ました。

3. MongoDBを起動する

dbフォルダをプロジェクトルートに作成して、

1
$ mongod --dbpath ./db

で、起動します。

4. app.jsに機能を書いていく

基本的な流れは、

  1. mongooseをrequire
  2. Schemaを取得
  3. オブジェクトスキーマを作成
  4. スキーマからモデルを作成
  5. モデルオブジェクトを生成
  6. モデルを使ってDB操作

と言った感じです。
流れを一気に書いていきます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var mongoose = require("mongoose");  //require
var Schema = mongoose.Schema; //スキーマ取得
var TweetSchema = new Schema({  //目的のスキーマを作成
  text: String,
      good: Boolean
});
mongoose.model('Tweet', TweetSchema);  //スキーマからモデル作成
var Tweet = mongoose.model('Tweet');  //モデルできあがり

mongoose.connect('mongodb://localhost/twitter'); //mongoDBに接続

var tweet = new Tweet();
tweet.text = "this is tweet";
tweet.good = true;

tweet.save(function(err){  //DBに保存
  if(err){
      console.log("error occured. "+err);
  }
});

こんなかんじで使っていきます。ここまでで、データの永続化は完了です。
あとの流れはfind()で見つけて操作してupdate()で更新したり、remove()したりです。これからまた勉強していきます。