我知道我可以使用couchdb.ViewDefinition为数据库创建一个视图。是否有类似创建更改过滤器功能的东西,或者我可以用过滤器字段创建一个设计文档?
答案 0 :(得分:2)
目前没有这样的东西,除非你将设计文件作为常规操作例如将python函数转储到源代码并将其分配给ddoc filters字段。
您可以尝试从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])
欢迎提供反馈和错误(: