2011-09-26 21 views
12

CouchDBにデータを格納するページがあります。ページはJavaScriptを介して直接データベースにアクセスするので、ロジックの多くはブラウザから隠されていません。新しい文書を作成するときに、データの要素を別々のフィールドに抽出して検索できるようにするロジックがあります。CouchDB - 文書を作成または更新するときのトリガーコード

ドキュメントを作成または更新するときにサーバー上でこのロジックを実行することはできますか、それともデータベースにアクセスする前にこれをやり続けますか?

答えて

18

あなたにはいくつかのオプションがあります。

まず、この質問については、CouchDB update functionsを参照してください。更新関数はブラウザから要求を受け取り、最終的にCouchDBに格納する前にそれらを変更することができます。たとえば、タイムスタンプを自動的に追加する人もいます。 CouchDB document update handlersのwikiページも参照してください。

もう1つの方法は、CouchDB change notificationsを受け取ることです。この場合、独立したプログラム(自分のブラウザ、あるいはあなたが実行するスタンドアロンプ​​ログラム)は、_changesのCouchDBに問い合わせることができます。の後にCouchDBはこのプログラムを通知します。次に、プログラムはドキュメントをフェッチし、必要な新しいリビジョンを保存することができます。

私にとっては、まず機能を試してみてください。

関連する問題