couchdb
CouchDB
Apache CouchDBはキーバリュー型のデータベース。Erlangという関数型言語で書かれている。
インストール(MacOSX)
macportsでインストールできるが、古いバージョンなので依存ライブラリをportで入れて、本体はコンパイルして入れることにする。
$ sudo port install spidermonkey $ sudo port install icu $ sudo port install erlang $ wget http://ftp.kddilabs.jp/infosystems/apache/couchdb/0.9.0/apache-couchdb-0.9.0.tar.gz $ tar zxf apache-couchdb-0.9.0.tar.gz $ cd apache-couchdb-0.9.0 $ ./configure --prefix=/Users/your_home/dev $ make $ make install
portに最新版が入っているならば、普通にportでインストールする(2010/08/22時点でv1.0.1)
$ sudo port install couchdb
起動
$ /Users/your_home/dev/couchdb
http://localhost:5984/ へアクセスすると、JSONが返ってくる。
{"couchdb":"Welcome","version":"0.9.0"}
http://localhost:5984/_utils/ へアクセスすると管理インターフェースを表示する。
自動起動
$ sudo launchctl load -w /Library/LaunchDaemons/org.apache.couchdb.plist
使ってみる
http://localhost:5984/_utils/ へアクセスし、create databaseでtestというDBをつくっておく。
http://localhost:5984/_utils/ で Firebugsを起動して JavaScriptで操作してみる。FireBugsのコンソールで以下を実行
var x = new XMLHttpRequest(); x.onreadystatechange = function() { if(this.readyState == 4 && this.status == 201) { var x = eval("(" + this.responseText + ")"); console.debug(x["id"]) } }; x.open("POST", "http://localhost:5984/test", true) x.send('{"hogehoge":"fuga"}');
コンソールに以下の値が出力される。これが新しく作成されたドキュメントのIDである。
7b4eaebdd312739840ab6fa965272c73
取得してみる。作成されたドキュメントのIDをURLに設定して…
var x = new XMLHttpRequest(); x.onreadystatechange = function() { if(this.readyState == 4 && this.status == 200) { console.debug(this.responseText); } }; x.open("GET", "http://localhost:5984/test/7b4eaebdd312739840ab6fa965272c73", true) x.send(null);
couchdb.txt · 最終更新: 2010/08/22 05:00 by 127.0.0.1