我正在评估 CouchBase 的应用程序,并试图找出有关视图范围查询的一些信息。我知道我可以对单个键、多个键或范围进行视图获取。我可以获取多个范围吗?即我想用视图键 0-10、50-100、5238-81902 检索项目。我可能同时需要 100 个不同的范围,因此必须向数据库发出 100 个请求似乎是很多开销。
问问题
344 次
1 回答
3
据我所知,在 couchbase 中,没有办法通过一个视图来实现从多个范围中获取值。Couchbase N1QL 中可能有(或将来会实现)某些功能,但我没有使用它。
回答您的问题 100 个请求不会是很大的开销。Couchbase 安静快速,旨在每秒处理大量操作。此外,如果您的视图设计正确,则不会在每个查询中“重新计算”它。
还有另一种方法:1.确定范围的最小值和最大值(根据您的示例,它将是 0..81902) 2.查询视图将仅返回文档 ID 和范围所基于的值,不包括结果中的所有文档。3. 在客户端根据您的范围(0-10、50-100、5238-81902)过滤上一步的结果数组,然后将 getMulti 与留在数组中的文档 ID 一起使用。
我不知道您的数据结构,因此您可以尝试两种方法,测试它们并选择最适合您需求的方法。
于 2014-03-25T14:46:26.237 回答