我有一个包含名称和国家/地区字段的沙发数据库,并且我创建了一个返回每个国家/地区的计数的视图。
地图功能:
function(doc) {
emit(doc.country, 1);
}
减少功能:
function(keys, values, rereduce) {
return sum(values);
}
问题是我需要进行“排序”,在这种情况下,按计数递减。知道如何解决吗?
不幸的是,使用 vanilla couchdb,您无法对 reduce 函数上的值进行排序。
couchdb 托管提供商 Cloudant 提供了“chained map reduce”来解决这个问题。请参阅http://examples.cloudant.com/sales/_design/sales/index.html
您可以做几个选择,一个是将您的数据托管在 cloudant 上,或者两个将您的本地数据复制到 cloudant 以查询您的 order-by。
还有这个:https ://github.com/afters/couch-incarnate ,不幸的是我没有尝试过,但可能适合你想要做的事情。