database - CouchBase View 获取多个范围

标签 database couchbase couchbase-view

我正在为一个应用程序评估 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/

相关文章:

couchbase - View 不会更新以添加之前被忽略的对象

java - Java Swing 应用程序中数据库和用户界面之间自动数据绑定(bind)的最佳方式?

php - 如何只显示值为 0 的项目?

c# - 如何在 Couchbase 中提取带有前缀的所有键

c - (建立TCP连接时出错)

android - 在 couchbase-lite android 中排序和查询文档

MySQL:当 FK 启用删除级联时,截断 `myTable` 时出错

mysql查询以获取每个给定键的记录

node.js - 如何针对 POST 和 GET 请求同步运行 mocha 测试

couchbase - 如何使用 couchbase 中的 View 获取文档