node.jsからMongoLabのMongoDBに接続する
mongolabはMongoDBのホスティングサービスで、500MBまで無料みたいなので
WindowsAzureのCentOSにnode.js実行環境を構築して使ってみました。
自前でMongoDBを用意した場合も手順は同じだと思います。
データベース作成
mongolabにSign Upしてデータベースを作成します。
簡単なので割愛。作成するとホスト名とポート番号が振られるのでメモします。
MongoDBのモジュールをインストール
以下のコマンドを実行
$ npm install mongodb
MongoDBに接続する
Server生成 -> DB生成 -> 認証 -> コレクション操作
の手順で作成したデータベースに接続します。
var mongo = require('mongodb'); var server = new mongo.Server('ds000000.mongolab.com', '99999'); var db = new mongo.Db('dbname', server, {safe: false}); // 引数の取得 var message = process.argv[2]; var test_mongolab = function(err, collection) { // 引数がある場合はINSERT if (message) { collection.insert({text: message, date: new Date()}); } // コレクションを確認 collection.find().toArray(function(err, results) { console.log(results); db.close(); }); } // DB接続 db.open(function(error, data) { // 認証 data.authenticate('username', 'password', function(err, data){ // コレクション操作 db.collection('messages', test_mongolab); }); });
実行結果
$ node mongolab.js mongolab [ { text: 'mongolab', date: Sat Mar 23 2013 11:38:29 GMT+0000 (UTC), _id: 514d943516849d410f000001 } ]