Múltiples rangos de teclas como parámetros para una vista CouchDB

El problema subyacente - digamos que mis documentos tienen"categorías" ymarcas de tiempo. Si quiero todos los documentos en el"foo" categoría que tiene una marca de tiempo que está dentro de las últimas dos horas, es simple:

function (doc) {
  emit([doc.category, doc.timestamp], null);
}

y luego consultar como

GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]

El problema viene cuando quiero algo en categorías.foo obar, dentro de las últimas dos horas. Si no me importara el tiempo, podría pasar directamente por llave a través de la colección de llaves. desafortunadamente, no tengo tal opción con rangos.

Lo que terminé haciendo mientras tanto es redondear la marca de tiempo a bloques de dos horas y luego multiplexar la consulta:

POST server:5894/.../myview
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]

Funciona, pero se ensuciará si quiero retroceder una gran cantidad de tiempo (en relación con el tamaño de bloque).

¿Hay una manera de enviar varios pares startKey / endKey a una vista, similar a las claves: [] matriz que se puede publicar para las claves?

Respuestas a la pregunta(3)

Su respuesta a la pregunta