Wiele zakresów kluczy jako parametry widoku CouchDB
Podstawowy problem - powiedzmy, że moje dokumenty mają"kategorie" iznaczniki czasu. Jeśli chcę wszystkie dokumenty w"bla" kategoria ze znacznikiem czasu, który jest w ciągu ostatnich dwóch godzin, to proste:
function (doc) {
emit([doc.category, doc.timestamp], null);
}
a następnie zapytanie jako
GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]
problem pojawia się, gdy chcę czegoś w kategoriachbla lubbar, w ciągu ostatnich dwóch godzin. Gdybym nie dbał o czas, mógłbym po prostu pociągnąć kluczem bezpośrednio za kolekcję kluczy. niestety nie mam takiej opcji z zakresami.
Tym, co skończyłem w międzyczasie, jest zaokrąglenie znacznika czasu do dwugodzinnych bloków, a następnie multipleksowanie zapytania:
POST server:5894/.../myview
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]
Działa, ale będzie bałagan, jeśli chcę cofnąć się o wiele czasu (w stosunku do rozmiaru bloku).
Czy istnieje sposób na wysłanie wielu par startKey / endKey do widoku, podobnie jak w tablicach: [], które można opublikować dla kluczy?