我正在寻找一个性能不佳的解决方案来按值对我的couchdb视图进行排序(因为数据量很大)。我正在我的NodeJS应用程序上使用“nano”包来获得数据库/视图连接。
我创建了一个CouchDB视图Map函数,用于配置键值对和Reduce to _count:
function (doc) {
emit(doc.msg, 1);
}
要获取我正在使用的视图,请执行以下操作:
alice.view('VIEWNAME', 'INDEXNAME', {'group': true).then((body) => {
body.rows.forEach((doc) => {
console.log(doc.key + " " + doc.value);
}
}
例如,视图返回“Hello”作为doc.key,返回“155”作为doc. value。因此,我有155个关键字为Hello的文档。现在,我想从值对视图DESC进行排序:
Hello 155
Foo 140
Bar 100
但是我的视图的唯一排序版本是按键排序的,我的视图是按键ASC排序的。
我在NodeJS端尝试了几个解决方案,但我不想失去太多的性能。
2条答案
按热度按时间u0njafvf1#
您不能这样做。视图本质上只按键排序。解决方法是创建另一个按不同键排序的视图。
5w9g7ksd2#
我在NodeJS端构建了一个变通方案:
我不是100%满意,但是这个解决方案帮助了我。我仍然不能估计排序在NodeJS端需要多少性能