【发布时间】:2011-04-08 12:10:23
【问题描述】:
我正在尝试在 CouchDB 中创建一个分页索引视图,其中列出了找到的每个第 N 个文档的 doc._id。
我编写了以下映射函数,但 pageIndex 变量不能可靠地从 1 开始 - 事实上它似乎根据发出的值或索引长度(例如 50、55 , 10, 25 - 都以不同的文件开头,尽管我似乎得到了正确的文件数量)。
function(doc) {
if (doc.type == 'log') {
if (!pageIndex || pageIndex > 50) {
pageIndex = 1;
emit(doc.timestamp, null);
}
pageIndex++;
}
}
我在这里做错了什么? CouchDB 专家将如何构建此视图?
请注意,我不想使用 mentioned elsewhere 的“startkey + count + 1”方法,因为我希望能够跳转到特定页面或最后一页(用户期望和所有),我想要一个友好的“?page=5”URI 而不是“?startkey=348ca1829328edefe3c5b38b3a1f36d1e988084b”,如果我能提供帮助,我宁愿 CouchDB 完成这项工作,而不是扩大我的应用程序。
谢谢!
【问题讨论】:
标签: pagination couchdb mapreduce