I Karte ansehen haben und reduzieren so: Karte:Wie kann ich ein map/reduce-Ergebnis erhalten, das in absteigender Reihenfolge des "value" -Wertes sortiert ist, wenn dies auch mit der list-Funktion erreicht werden kann?
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);
}
}
}
Reduce:
function(keys, values, rereduce)
{
return sum(values);
}
dann die Ansicht wie folgt aufrufen: _design/aaa/_view/getUserId?group=true&group_level=2&startkey=["111111"]&endkey=["111111",{}]
ich das Ergebnis gesetzt unten gehen kann:
{"rows":[
{"key":["111111",""],"value":7},
{"key":["111111","FFFF26"],"value":1},
{"key":["111111","FFFF44"],"value":7},
{"key":["111111","FFFF34"],"value":2}
]}
Allerdings möchte ich das obige Ergebnis in absteigender Reihenfolge des "Wert" -Wertes erhalten. Wenn das auch mit der Listenfunktion möglich ist? Folgendes würde erwartete Ergebnisse werden:
{"rows":[
{"key":["111111",""],"value":7},
{"key":["111111","FFFF44"],"value":7},
{"key":["111111","FFFF34"],"value":2},
{"key":["111111","FFFF26"],"value":1}
]}
CouchDB wird nur sortieren Ihre Ansicht basiert auf dem Schlüssel, für den sie bestimmt ist. Wenn Sie auch nach dem Wert sortieren möchten, können Sie wie bereits erwähnt eine Listenfunktion verwenden. –