1

couchdb.ViewDefinition を使用してデータベースのビューを作成できることはわかっています。変更フィルター関数を作成するのに似たようなものはありますか?それとも、フィルター フィールドを使用して設計ドキュメントを作成するだけでよいでしょうか?

4

1 に答える 1

2

現時点では、Python 関数をソース コードにダンプし、それを ddoc フィルター フィールドに割り当てるなど、通常の方法で設計ドキュメントを操作しない限り、そのようなことはありません。

問題 186のパッチを適用してみてください。現在のビューと同じように、定義の show/list/update/filter/validate_doc_update 関数のサポートを提供します。

例えば:

from couchdb import design, mapping

class Post(mapping.Document):

   by_author = design.FilterFunction('posts', 'by_name', '''
function(doc, req){
  if (req.query.author){
    return doc.author === req.query.author;
  }
  throw({'invalid_query': 'author name was not specified'});
}
''')

if __name__ == '__main__:
    design.sync_docs(db, [Post])

フィードバックとバグを歓迎します (:

于 2013-04-10T05:20:31.077 に答える