python - 如何使用python在couchdb中添加过滤功能?

标签 python couchdb

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

最佳答案

目前还没有这样的东西,除非您定期使用设计文档,例如将 python 函数转储到源代码并将其分配给 ddoc 过滤器字段。

您可以尝试应用 issue 186 的补丁:它以类似于当前 View 的方式提供定义 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])

欢迎提供反馈和错误(:

关于python - 如何使用python在couchdb中添加过滤功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914820/

相关文章:

json - CouchDb 2.1.1 管理 API 压缩 PUT 请求

Heroku 上的 Django

python浮点性质并转换为较小的类型

python - 从 pip 下载最新版本的软件包时遇到问题

python - 使用scipy在dblquad集成中获得的错误是什么意思?

python - 在不终止命令行(discord.py)的情况下关闭 Discord bot 连接

CouchDb 批量重命名

elasticsearch - 从Couchdb迁移到Elasticsearch

python - 使用 CouchDB OAuth 的 Google UrlFetch 服务

python - 如何在pynotify中设置本地镜像?