ユーザ用ツール

サイト用ツール


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