El problema subyacente - digamos que mis documentos tienen "categorías" y marcas de tiempo. Si quiero todos los documentos del "foo" categoría que tienen una marca de tiempo que está dentro de las últimas dos horas, es muy sencillo:múltiples rangos de teclado como parámetros a una vista CouchDB
function (doc) {
emit([doc.category, doc.timestamp], null);
}
y luego consulta como
GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]
el problema viene cuando quiere algo en las categorías foo o bar, en las últimas dos horas. Si no me importara el tiempo, podría pasar directamente por la clave a través de la colección de teclas. desafortunadamente, no tengo esa opción con rangos.
Lo que terminé haciendo mientras tanto se redondear la fecha y hora de bloques de dos horas, y luego la multiplexación de la consulta a cabo:
POST server:5894/.../myview
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]
Funciona, pero causar problemas si quiero volver una gran cantidad de tiempo (en relación con el tamaño de bloques).
¿Hay alguna manera de enviar múltiples pares startKey/endKey a una vista, similar a las teclas: [] matriz que se puede publicar para las claves?
bien puede O teclas a través de la publicación de claves, pero sí. Gracias. – kolosy