在 Couchdb 中订购

Posted

技术标签:

【中文标题】在 Couchdb 中订购【英文标题】:Order by in Couchdb 【发布时间】:2013-03-18 18:27:21 【问题描述】:

我有一个包含名称和国家/地区字段的沙发数据库,​​并且我创建了一个返回每个国家/地区的计数的视图。

地图功能:

function(doc) 
   emit(doc.country, 1);

减少功能:

function(keys, values, rereduce) 
   return sum(values);

问题是我需要进行“排序”,在这种情况下,按计数降序排列。 知道如何解决吗?

【问题讨论】:

【参考方案1】:

不幸的是,使用 vanilla couchdb,您无法对 reduce 函数上的值进行排序。

Cloudant 是一家 couchdb 托管提供商,它提供了“chained map reduce”来解决这个问题。见http://examples.cloudant.com/sales/_design/sales/index.html

您可以选择几个选项,一个是将您的数据托管在 cloudant 上,或者两个将您的本地数据复制到 cloudant 以查询您的 order-by。

还有这个:https://github.com/afters/couch-incarnate,很遗憾我没有尝试过,但可能适合你想要做的事情。

【讨论】:

最近也有人向 couchdb mail-archives.apache.org/mod_mbox/couchdb-dev/201301.mbox/… 提出了这个建议,但它只是在讨论中。 感谢您的时间/回答,我会试试看;)

以上是关于在 Couchdb 中订购的主要内容,如果未能解决你的问题,请参考以下文章

在 CouchDB 中使用 JSON 模式

在 couchdb 上部署应用程序

CouchDB 的服务器端任务

Hyperledger Fabric CouchDB as the State Database——使用CouchDB

CouchDb - 防止 couchDb 提供视图

CouchDB