2

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

地图功能:

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

减少功能:

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

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

4

1 回答 1

1

不幸的是,使用 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 ,不幸的是我没有尝试过,但可能适合你想要做的事情。

于 2013-03-18T19:43:50.103 回答