我的 couchdb 中有几个文件格式如下:
{ type: "event", start: "2012-02-08T19:30+01:00", title: "foo" }
有一个视图使用start
as 键列出这些文档。这是因为这些日期自然排序:
function (doc) {
if (doc.type == "event") emit(doc.start, doc)
}
startkey
然后我可以通过查询参数访问接下来的三个事件:viewname?startkey=\"2012-02-08\"&limit=3
现在我使用一个列表用一些 HTML 来格式化这个视图:
function (doc, req) {
return provides("html", function() {
// something with getRow() to query the view
});
}
当前日期是动态的,不能直接在视图的map函数中指定,但是有没有办法startkey
在list函数中设置属性呢?getRow()
在第一次打电话之前?当然,我可以解析密钥并将其与列表中的当前日期进行比较,但这会使查询参数的意图完全无效。有没有更好的办法?
背景故事
列表 URL 实际上是从一个更好的 URL 重写的。我在 rewrites.json 中有以下属性:
{
"from": "/ausstellungen/rueckblick",
"to": "_list/rueckblick/exhibitions",
"query": {
"startkey": "\"2012-02-08\"",
"descending": true
}
}
日期是静态的,但参数应始终反映当前日期。