1

我知道我可以使用 couchdb.ViewDefinition 为数据库创建视图。是否有类似的东西来创建更改过滤器功能,或者我可以只使用过滤器字段创建设计文档?

4

1 回答 1

2

目前没有这样的东西,除非您将设计文档作为常规操作进行操作,例如将 python 函数转储到源代码并将其分配给 ddoc 过滤器字段。

您可以尝试应用issue 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 回答