【发布时间】:2016-01-25 23:49:44
【问题描述】:
我是 CouchDB(和一般的 NoSQL)的新手,我正在创建一个简单的 Node.js + express + nano 应用程序来感受它。这是一个简单的书籍集合,包含两个字段,“标题”和“作者”。
示例文档:
{
"_id": "1223e03eade70ae11c9a3a20790001a9",
"_rev": "2-2e54b7aa874059a9180ac357c2c78e99",
"title": "The Art of War",
"author": "Sun Tzu"
}
减少功能:
function(doc) {
if (doc.title && doc.author) {
emit(doc.title, doc.author);
}
}
由于 CouchDB 按键排序并支持“descending=true”查询参数,因此很容易在 UI 中实现一个过滤器来切换标题的排序顺序,这是我的结果集中的键。这是用户界面:
List of books with link to sort title by ascending or descending
但我完全不知道如何为作者字段执行此操作。
我见过this question,它帮助海报按数字减少值排序,我读过a blog post,它使用列表也按减少值排序,但我没有看到任何方法在没有 reduce 的情况下对字符串值执行此操作。
【问题讨论】:
-
你到底想做什么?您想仅按作者对列表进行排序吗?
-
我希望能够按标题或作者排序,最好在后续点击时在升序和降序之间切换。
标签: node.js sorting express couchdb couchdb-nano