我正在研究一个 map/reduce,它不能完全返回我在 rereduce 情况下所期望的。
我想调试它,但我至少也想看看里面有什么,所以我输出了很多东西,reduce_overflow_error
每次运行视图时 Couch 都会返回。
是否可以停用此行为?
我知道这是为了防止开发人员做出不健康的观点,但如果我想做废话,我不应该被允许吗?尤其是调试的时候。
您需要修改 CouchDB 配置以禁用此限制。
通过 curl 的第一种方式:
curl -X PUT http://localhost:5984/_config/query_server_config/reduce_limit -d '"false"' -H "Content-Type: application/json"
其次是通过 local.ini 配置修改。只需添加或修改如下所示的部分并重新启动 CouchDB 服务:
[query_server_config]
reduce_limit = false
第三个是通过被褥配置页面。我想,你已经猜到应该在那里修改什么参数了(;
但在大多数情况下,这种限制是合理的,因为 reduce 函数应该减少输出,而不是让它变大——这就是 map 函数的工作。出于调试原因,最好启用调试日志 - 它们非常详细,可能会显示 map/reduce/任何函数输出。