У меня есть несколько документов в моем couchdb, отформатированных так:
{ type: "event", start: "2012-02-08T19:30+01:00", title: "foo" }
Существует представление, в котором перечислены эти документы с использованием start
в качестве ключа. Это потому, что эти даты сортируются естественно:
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
});
}
Текущая дата является динамической и не может быть указана непосредственно в функции карты представления, но есть ли способ установить свойство startkey
в функции списка? Перед первым звонком getRow()
? Конечно, я мог бы проанализировать ключ и сравнить его с текущей датой в списке, но это полностью нарушило бы намерения параметров запроса. Есть ли лучший способ?
предыстория
URL-адрес списка фактически переписан с гораздо более приятного URL-адреса. У меня есть следующие свойства в rewrites.json:
{
"from": "/ausstellungen/rueckblick",
"to": "_list/rueckblick/exhibitions",
"query": {
"startkey": "\"2012-02-08\"",
"descending": true
}
}
Дата является статической, но параметр всегда должен отражать текущую дату.