[Server & Network General] MongoDB: Homebrew でインストールする

mac へのインストールと、ドライバの確認をします。

[markdown]
## インストール

> * [The MongoDB 2.4 Manual — MongoDB Manual 2.4.9](http://jp.docs.mongodb.org/manual/#%E3%83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E5%8F%96%E5%BE%97)
> * [MongodbをHomebrew/Mac Lionでインストール – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/mongodb-mac-lion/)

“`prettyprinted
% brew update
% brew search mongo
libmongoclient mongo-c mongodb mongoose
josegonzalez/php/php53-mongo josegonzalez/php/php55-mongo
josegonzalez/php/php54-mongo
% brew install mongodb
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mongodb-2.4
######################################################################## 100.0%
==> Pouring mongodb-2.4.9.mountain_lion.bottle.tar.gz
==> Caveats
To have launchd start mongodb at login:
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don’t want/need launchctl, you can just run:
mongod
==> Summary
/usr/local/Cellar/mongodb/2.4.9: 18 files, 278M
“`

## launchd に登録する

インストール時に表示された指示に従って、設定を行います。
登録すると、Mac ログイン時に起動するようになります。

“`prettyprinted
% ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
/Users/****/Library/LaunchAgents/homebrew.mxcl.mongodb.plist -> /usr/local/opt/mongodb/homebrew.mxcl.mongodb.plist
% launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
“`

登録とロードがされたよう。

“`prettyprinted
% ps ax | grep mongo
20869 ?? R 0:00.34 /usr/local/opt/mongodb/mongod run –config /usr/local/etc/mongod.conf
20888 s004 R+ 0:00.01 grep mongo
% launchctl list > list.txt
% grep mongo list.txt
20869 – homebrew.mxcl.mongodb
“`

> * [MacWiki – コマンド/launchctl](http://macwiki.sourceforge.jp/wiki/index.php/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89/launchctl)
> * [LaunchDaemons (launchctl, launchd.plist) の使い方 – maruko2 Note.](http://www.maruko2.com/mw/LaunchDaemons_(launchctl,_launchd.plist)_%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9)

## 動作確認

“`prettyprinted
% mongo -version
MongoDB shell version: 2.4.9
“`

## 各環境で必要なドライバ

こんな感じのよう。

### node.js

“`prettyprinted
% npm install mongodb
“`

> * [#14 MongoDBに接続してみよう | Node.js入門 – プログラミングならドットインストール](http://dotinstall.com/lessons/basic_nodejs/26214)

### ruby

“`prettyprinted
% gem install mongo
% gem install bson_ext
“`

> * [rubyでMongoDBを使ってみる | メモ帳代わりのブログ](http://www.absolute-keitarou.net/blog/?p=159#O90jv7z.pocket_count_vertical)
> * [BSON – Wikipedia](http://ja.wikipedia.org/wiki/BSON)

### rails

“`ruby:Gemfile
gem ‘mongoid’
gem ‘bson_ext’
“`

> * [Carrierwave/Mongoid/Herokuで作るRails画像アップロード機能 – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/carrierwave-gem-rails-imagemagick-rmagic/)

## 補遺

“`prettyprinted
/* DBを指定して接続する //*/
% mongo blog_app
/* コレクションの一覧を表示する //*/
> show collections;
/* ドキュメントを追加する(Json形式) //*/
> db.users.insert({“name”:”suzuki”,”email”:”suzuki@gmail.com”});
/* データの一覧を表示する //*/
> db.users.find();
/* スキーマレスなので違ったデータ形式も挿入できる //*/
> db.users.insert({“name”:”kojima”,”lang”:[“php”,”ruby”]});
/* ドキュメントを削除する //*/
> db.users.remove();
“`
[/markdown]