Как я могу получить карту / уменьшить результат, который отсортирован в порядке убывания значения «значение»? Если также можно использовать функцию списка?
У меня есть карта просмотра и уменьшить, как это: карта:
function(doc) {
if(doc.type){
var usersLength = doc.users.length;
for (var i = 0; i < usersLength ; i++) {
emit([doc.users[i].userid,doc.Service.ownId], 1);
}
}
}
Сокращение:
function(keys, values, rereduce)
{
return sum(values);
}
Затем вызовите представление следующим образом:_design/aaa/_view/getUserId?group=true&group_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}
]}