在 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 中订购的主要内容,如果未能解决你的问题,请参考以下文章