Javascript 如何按减少的值排序视图结果?CouchDB

Javascript 如何按减少的值排序视图结果?CouchDB,javascript,couchdb,Javascript,Couchdb,我可以按还原返回的值对视图的结果进行排序吗 { "rows": [ {"key":"bob","value":2}, {"key":"john","value":3}, {"key":"zztop","value":1} ] } 我想要这样的结果: { "rows": [ {"key":"zztop","value":1}, {"key":"bob","value":2},

我可以按还原返回的值对视图的结果进行排序吗

{
    "rows": [
        {"key":"bob","value":2},
        {"key":"john","value":3},
        {"key":"zztop","value":1}
     ]
}
我想要这样的结果:

{
    "rows": [
        {"key":"zztop","value":1},
        {"key":"bob","value":2},
        {"key":"john","value":3}

     ]
}
http://XXXXXX/database/_design/name/_view/name?startkey=[[0,"zztop"]]&endkey=[[999,"zztop"]]

您只想按每个对象的
属性对
数组进行排序?您可以为js
sort
方法指定自定义比较方法

myResult.rows.sort(function (a, b) {
    return parseInt(a.value,10) - parseInt(b.value,10);
});

参数
a
b
将分别是
数组中的一个条目。该方法返回大于0、0或小于零的
int
值。大于0意味着
a
应该在
b
之前排序,小于0则相反,0意味着它们相等。

我将把它构建到键中

{"key": [1, "zztop"], "value": "whateverYouWant"},
{"key": [2, "bob"], "value": "whateverYouWant"},
{"key": [3, "john"], "value": "whateverYouWant"}
要搜索特定键,请使用如下startkey/endkey查询:

{
    "rows": [
        {"key":"zztop","value":1},
        {"key":"bob","value":2},
        {"key":"john","value":3}

     ]
}
http://XXXXXX/database/_design/name/_view/name?startkey=[[0,"zztop"]]&endkey=[[999,"zztop"]]
只要您的值是数值,只需使endkey大于最大可能值,此查询将返回“zztop”的结果


这是草率的,但我还没有找到更好的CouchDB排序方法。总而言之,在应用程序中进行排序可能会更好。

您是用PHP还是JS来进行排序的!?我在RubyonRails中使用CouchRest gem。但是json比这个简单的示例要大。显示映射函数的外观问题是如何在CouchDB上实现。当然,我们可以在获得结果后手动排序。但是,例如,如果返回的结果超过了存储在内存中的数量,该怎么办?