読者です 読者をやめる 読者になる 読者になる

一人 CouchDB 勉強会 #1 デザインドキュメント

couchdb

CouchDB って何?って方は以下二つを呼んでみれば十分です。

CouchDB 0.10.0 でテストしてます。というか CouchDBX でテストしてます。

自分向けにちょこちょこ解説書いてきますよ:-)

デザインドキュメントを定義するテンプレートが無いなぁと思って、自分で適当に書いてみました。まずは Blog を定義するとかが一番簡単なんでしょうね。

markdown を使っているサンプルがあったので、docutils でも呼んで reST に対応して遊びたいところです。テンプレートエンジンはまだ貧弱そうなのでその辺はトルネードとかと併せて遊んだ方がいいのかな?まだまだよくわかっていません。

それにしてもソースコードが直接 JSON の中に入る違和感を感じます。この辺は Mercurial とかで管理して自動で JSON の中にいれて変更を更新できるフックとか書けば CouchDB + Mercurial というソリューションが出来るのかもしれません。

デザインドキュメント

{
  "_id": "",
  "_rev": "",

  "language": "javascript",

  "validate_doc_update": "",

  "lists": {
  }

  "views": {
    "index": {
      "map": "",
      "reduce": ""
    }
  },

  "shows": {
    "detail": ""
  }
}

index/map

function(doc) {
}

index/reduce

function(keys, values, rereduce) {
}
function(doc, req) {
  return ...
}
function(newDoc, oldDoc, userCtx) {
  throw();
}