我正在为一个应用程序评估 CouchBase,并试图弄清楚关于 View 范围查询的一些事情。我知道我可以为单个键、多个键或范围执行 View 获取。我可以获取多个范围吗?即我想检索 View 键为 0-10、50-100、5238-81902 的项目。我可能同时需要 100 个不同的范围,因此必须向数据库发出 100 个请求似乎开销很大。
最佳答案
据我所知,在 couchbase 中,无法通过一个 View 实现从多个范围获取值。 Couchbase N1QL 中可能有(或将来会实现)一些功能,但我没有使用它。
回答您的问题 100 个请求不会是很大的开销。 Couchbase 非常快速,它被设计为每秒处理大量操作。此外,如果您的 View 设计正确,则不会在每次查询时“重新计算”。
还有一种方法: 1.确定范围的最小值和最大值(根据您的示例将为 0..81902) 2. 查询 View 将仅返回文档 ID 和范围所基于的值,而不包括结果中的所有文档。 3.在客户端根据您的范围(0-10、50-100、5238-81902)过滤上一步的结果数组 然后将 getMulti 与留在数组中的文档 ID 一起使用。
我不知道你的数据结构,所以你可以尝试两种方法,测试它们并选择最适合你需求的一种。
关于database - CouchBase View 获取多个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22635216/