出張とか旅行で家を空ける機会が多かったので久しぶりになってしまった。
普段はFreeBSDをサーバ用途で使っているのだけど、Macでも手軽に実行できるので紹介してみる。ダウンロードして展開する以外、特にインストール作業いらない。もろもろなパッケージ管理ツールみたいなものを使ってもいいけど、遊ぶぐらいならこれで十分かな。
とりあえず、 ここ から適当にダウンロード。(OS X 64-bit の 1.5.X とか)
次に、mongoDBのデータを入れるディレクトリを作成。
$ mkdir /somewhere/mongodb_data
後は、ダウンロードして展開したmongodを実行するだけ。
$ /foo/bar/mongodb-osx-x86_64-1.5.3/bin/mongod --dbpath=/somewhere/mongodb_data
オプションを何もつけないとフロントエンドで実行される。バックグランドで実行したい場合には、 --fork --logpath=/somewhere/mongodb.log
とか付ける。
接続できるか、mongoコマンドで確認
$ /foo/bar/mongodb-osx-x86_64-1.5.3/bin/mongo
MongoDB shell version: 1.5.3
connecting to: test
type "help" for help
>
エラーが出ないでプロンプトが出たら完了。
後は チュートリアル をやってみるもよし、お好みの言語でいじるもよし、mongoライフを楽しみましょう。
日本滞在中でいまいち調子が狂う。今週は更新のみ。
- チュートリアル - 内容的に大きな変更なし。ObjectIDの作成に、ObjectID() を使うようになった。
- コネクション - 内容的に大きな変更なし。
- アップデート - $ ポジションオペレータ が追加
- インデックス - ドキュメント自体をインデックスとして使うところの更新
まず、正常に終了処理をしなかった場合、そのままでは、MongoDBは次回に起動しません。仕様です。ドキュメント的には、Durability and Repair (日本語) がそれにあたる。
このときログファイルを見ると、こんな感じになってるはず。
**************
old lock file: /var/db/mongodb/mongod.lock. probably means unclean shutdown
reccomend removing file and running --repair
see: http://dochub.mongodb.org/core/repair for more information
*************
lockファイルはrepairコマンドが消してくれるので、自分で削除する必要ないので、--repairを実行しておけば大丈夫。
> mongod --dbpath=/var/db/mongodb --repair
みたいな、感じで実行する。 dbpathはデータベースがある場所。これはFreeBSDのパッケージでの標準の場所なので各自の環境にあわせること。
このコマンドはデータを直した後、そのまま終了してしまうので、その後で通常の方法でmongodを起動し直せばok。
新規で訳したもの:
更新したもの:
- tailableカーソル
- チュートリアル
- レプリケーション
- Shardingの設定
- 他にもあったけど忘れた
更新を追いかけていくのが大変になってきたので、新規のはぼちぼちやっていきます。
MongoDBの翻訳全般については、 こちら参照。
「MongoDBを使う場合、自分で書いたアプリケーション側のソースも全部公開しないといけない」的な嘘が広がるのはちょっと嫌なので。
http://www.mongodb.org/display/DOCS/Licensing とか、 http://blog.mongodb.org/post/103832439/the-agpl を読んでみてもらえばだいたいわかると思うのだけど、MongoDB自体は、確かにAGPLなので、改変した場合、(一般に公開する)サーバ用途の利用でMongoDB自体のソースの公開の義務はある。ただ、これはMongoDB本体の話で、自分で作ったアプリケーションには適用されない。また、ドライバー関連はApache licenseなので、ドライバーを組み込むような自分のアプリケーションを作った場合もAGPLは適用されない。
もし、これが嘘なら、自分のところでも使いづらくなるので、ツッコミ超歓迎。