问题描述
我是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-..."}}
]}