如何通过降低值来订购查看结果? CouchDB

问题描述:

我可以通过减少返回的值来排序视图结果吗?如何通过降低值来订购查看结果? CouchDB

{ 
    "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} 

    ] 
} 
+0

你在做这个PHP或JS! – 2010-03-12 23:17:47

+0

我正在Ruby on Rails中使用CouchRest gem进行操作。但是json比这个简单的例子更大。 – 2010-03-13 00:03:35

+1

显示您的Map函数的外观 – 2010-04-20 04:52:57

你只是想在 rows阵列的每个对象的 value属性进行排序

?您可以为js sort方法指定自定义比较方法。

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

参数ab将每一个可以从所述rows阵列中的条目。该方法将返回大于0,0或小于零的值int。大于0意味着a应该在b之前订购,反之小于0,0表示它们相等。

+0

问题是关于如何在CouchDB上执行此操作。当然,我们可以在得到它们后手动对结果进行排序。但是,如果返回的结果比存储器中存储的结果还多,例如? – lovasoa 2017-01-18 20:27:18