0

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

请帮忙。谢谢你。

4

1 回答 1

2

如果您考虑底层 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","value":{"rev":"1-..."}},
{"id":"ben","key":"ben","value":{"rev":"1-..."}},
{"id":"charlie","key":"charlie","value":{"rev":"1-..."}}
]}

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

% curl 'https://skruger.cloudant.com/aaa/_all_docs?startkey="a"&endkey="b"'
{"total_rows":4,"offset":0,"rows":[
{"id":"aaron","key":"aaron","value":{"rev":"1-..."}},
{"id":"adam","key":"adam","value":{"rev":"1-..."}}
]}
于 2020-09-05T17:47:14.640 回答