Mehrere Schlüsselbereiche als Parameter für eine CouchDB-Ansicht

Das zugrunde liegende Problem - lassen Sie uns sagen, meine Dokumente haben"Kategorien" undZeitstempel. Wenn ich alle Dokumente in der"foo" Kategorie mit einem Zeitstempel innerhalb der letzten zwei Stunden:

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

und dann abfragen als

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

das problem kommt wenn ich etwas in kategorien haben willfoo oderBarinnerhalb der letzten zwei Stunden. Wenn mir die Zeit egal war, konnte ich einfach direkt mit dem Schlüssel durch die Schlüsselsammlung ziehen. Leider habe ich keine solche Option mit Bereichen.

In der Zwischenzeit habe ich den Zeitstempel auf zweistündige Blöcke gerundet und dann die Abfrage herausgemultiplext:

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

Es funktioniert, wird aber unordentlich, wenn ich eine große Zeitspanne zurücklegen möchte (im Verhältnis zur Blockgröße).

Gibt es eine Möglichkeit, mehrere startKey / endKey-Paare an eine Ansicht zu senden, ähnlich wie beim Array keys: [], das für Schlüssel bereitgestellt werden kann?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage