Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能得到一个map/reduce结果,该结果按“的降序”排序;“价值”;值?如果还使用列表功能可以实现吗?_Javascript_Mapreduce_Couchdb_Couchdb Futon - Fatal编程技术网

Javascript 我怎样才能得到一个map/reduce结果,该结果按“的降序”排序;“价值”;值?如果还使用列表功能可以实现吗?

Javascript 我怎样才能得到一个map/reduce结果,该结果按“的降序”排序;“价值”;值?如果还使用列表功能可以实现吗?,javascript,mapreduce,couchdb,couchdb-futon,Javascript,Mapreduce,Couchdb,Couchdb Futon,我有如下视图映射和缩减: 地图: 然后像这样调用视图:\u design/aaa/\u view/getUserId?group=true&group\u level=2&startkey=[“111111”]&endkey=[“111111”,{}] 我可以得到以下结果集: {"rows":[ {"key":["111111",""],"value":7}, {"key":["111111","FFFF26"],"value":1}, {"key":["111111","FFFF44"],"v

我有如下视图映射和缩减: 地图:

然后像这样调用视图:
\u design/aaa/\u view/getUserId?group=true&group\u level=2&startkey=[“111111”]&endkey=[“111111”,{}]

我可以得到以下结果集:

{"rows":[
{"key":["111111",""],"value":7},
{"key":["111111","FFFF26"],"value":1},
{"key":["111111","FFFF44"],"value":7},
{"key":["111111","FFFF34"],"value":2}
]}
但是,我想让上面的结果集按照“value”值的降序排序。如果还使用列表功能可以实现吗?预期结果如下:

{"rows":[
{"key":["111111",""],"value":7},
{"key":["111111","FFFF44"],"value":7},
{"key":["111111","FFFF34"],"value":2},
{"key":["111111","FFFF26"],"value":1}
]}

如果要对结果集进行排序,必须选择按值降序排序的结果集,可以使用比较器回调进行排序:

// ES6 Syntax
let originalResult = {
"rows":[
  {"key":["111111",""],"value":7},
  {"key":["111111","FFFF26"],"value":1},
  {"key":["111111","FFFF44"],"value":7},
  {"key":["111111","FFFF34"],"value":2}
]}

let newResult = {
  rows: originalResult.rows.sort((a, b) => b.value - a.value)
} 

如果要对结果集进行排序,必须选择按值降序排序的结果集,可以使用比较器回调进行排序:

// ES6 Syntax
let originalResult = {
"rows":[
  {"key":["111111",""],"value":7},
  {"key":["111111","FFFF26"],"value":1},
  {"key":["111111","FFFF44"],"value":7},
  {"key":["111111","FFFF34"],"value":2}
]}

let newResult = {
  rows: originalResult.rows.sort((a, b) => b.value - a.value)
} 

谢谢你的好建议,如何在map/reduce视图中实现这个新结果集?谢谢,我想我会在这个上使用list函数实现Hey Jamesjin,很抱歉没有人根据你要找的内容回答你的问题。不幸的是,我不知道couchdb,所以我不能帮你,但我想说这听起来像是你可以用查询来做的事情。谢谢你的好建议,如何在map/reduce视图中实现这个新结果集?谢谢,我想我会在这个上使用list函数实现Hey Jamesjin,很抱歉,没有人根据您要找的内容回答您的问题。不幸的是,我不知道couchdb,所以我不能帮你,但我想说这听起来像是你可以用查询来做的事情。couchdb只会根据键对你的视图进行排序,这就是它的设计目的。如果还想按值排序,可以使用前面提到的列表函数。CouchDB只会根据键对视图进行排序,这就是它的设计目的。如果还想按值排序,可以使用前面提到的列表函数。
// ES6 Syntax
let originalResult = {
"rows":[
  {"key":["111111",""],"value":7},
  {"key":["111111","FFFF26"],"value":1},
  {"key":["111111","FFFF44"],"value":7},
  {"key":["111111","FFFF34"],"value":2}
]}

let newResult = {
  rows: originalResult.rows.sort((a, b) => b.value - a.value)
}