正则表达式的Python cloudant查询“ _id”

问题描述

我是ibm cloudant的新手,并且正在为我的Web应用程序使用适用于cloudant的python API。 有什么方法可以使用“ _id”上的正则表达式从托管在IBM cloudant实例上的长沙发数据库中检索文档? 我已经阅读了python-cloudant文档,但找不到任何东西。

请帮助。 谢谢。

解决方法

如果考虑基础API,则可以在Cloudant Query中使用$regex运算符。但是,它不会使用索引,因此性能会非常糟糕,因为它将扫描整个数据库。如果可能,请尝试排列您的ID,以便可以通过范围查询找到所需的子集。给定一个看起来像这样的数据库:

% curl https://skruger.cloudant.com/aaa/_all_docs
{"total_rows":4,"offset":0,"rows":[
{"id":"aaron","key":"aaron","value":{"rev":"1-..."}},{"id":"adam","key":"adam",{"id":"ben","key":"ben",{"id":"charlie","key":"charlie","value":{"rev":"1-..."}}
]}

我们只能检索ID以“ a”开头的所有文档,

% curl 'https://skruger.cloudant.com/aaa/_all_docs?startkey="a"&endkey="b"'
{"total_rows":4,"value":{"rev":"1-..."}}
]}