couchdb - 是否可以创建一个 Couchbase View 来对输出进行分组而无需减少功能?

标签 couchdb couchbase

在Couchbase或CouchDB中,是否可以在没有显式reduce函数的情况下进行分组?在我的客户端代码中,我希望将数据提供给我,就像缩减程序接收数据一样(假设所有映射器都用作输入,即使在重新缩减期间也是如此)。在没有定义reduce函数的情况下使用group=true会给我带来错误:

$ curl http://127.0.0.1:8092/default/_design/testing1/_view/all?group=true
{"error":"query_parse_error",
 "reason":"Invalid URL parameter 'group' or 'group_level' for non-reduce view."}

我可以添加恒等归约函数:

reduce(keys,data) {return data;}

但是 Couchbase 提示说我实际上并没有减少任何东西:

{"rows":[], "errors":[
    {"from":"local","reason":"{<<"reduce_overflow_error">>,
        <<"Reduce output must shrink more rapidly: Current output: '...'
    }]}

我确实希望彻底减少我的客户。

最佳答案

这不是技术限制,而是逻辑限制。如果不对这些结果进行一些缩减,则无法对结果进行逻辑分组。这类似于 SQL 中的 GROUP BY,除非您的 SQL 查询中也有某种聚合函数,否则您不能使用它。

关于couchdb - 是否可以创建一个 Couchbase View 来对输出进行分组而无需减少功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585965/

相关文章:

javascript - PouchDB 检测未同步的文档

java - 执行 findAll() 时 Spring boot 和 couchbase 中出现 InvalidDataAccessResourceUsageException

couchdb - 将数据从 RDBMS 传输到 Couchbase 文档时.. 我应该如何设计我的文档?

java - CouchDB 中的全文搜索

database - 发送数据库文档 ID(安全)

java - 如何在 Dropwizard 项目中使用 Couchbase Java 客户端?

php - 如何在 CouchBase 中增加或创建唯一 ID?

javascript - 如何在 CouchDB 的显示函数中遍历所有文档?

Couchbase:使用文档 ID 对我有什么好处?

android - 来自 Couchbase Lite 的 React-Native Android 图像源