Несколько ключевых диапазонов в качестве параметров для представления CouchDB
Основная проблема - скажем, мои документы«Категория» а такжеметки времени, Если я хочу, чтобы все документы в"Foo" Для категории, в которой есть отметка времени, которая находится в течение последних двух часов, все просто:
function (doc) {
emit([doc.category, doc.timestamp], null);
}
а затем запросить как
GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]
проблема возникает, когда я хочу что-то в категорияхFoo или жебарв течение последних двух часов. Если бы я не заботился о времени, я мог бы просто потянуть ключом через коллекцию ключей. к сожалению, у меня нет такой опции с диапазонами.
Тем временем я в итоге округлил метку времени до двухчасовых блоков, а затем мультиплексировал запрос:
POST server:5894/.../myvie,w
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]
Это работает, но будет грязно, если я захочу вернуться назад на большой промежуток времени (по отношению к размеру блока).
Есть ли способ отправить несколько пар startKey / endKey в представление, похожее на массив keys: [], который можно разместить для ключей?