根本的な問題 - 私の文書に"categories"とタイムスタンプがあるとしましょう。私は最後の2時間以内のタイムスタンプを持っている「foo」というカテゴリ内のすべてのドキュメントをしたい場合、それは簡単です:CouchDBビューのパラメータとして複数のキー範囲
function (doc) {
emit([doc.category, doc.timestamp], null);
}
、その後、ときに私の問題が来る
GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]
として照会過去2時間以内にfooまたはバーのカテゴリが必要です。私が時間を気にしなかったなら、私は鍵で直接鍵を引くことができました。残念ながら、私にはそのようなオプションはありません。
私は2時間のブロックにタイムスタンプを丸めているその間にやってしまった、その後、クエリを多重化するもの:
POST server:5894/.../myview
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]
それは動作しますが、私は戻りたい場合は厄介になります大量の時間(ブロックサイズとの関係で)。
複数のstartKey/endKeyペアをビューに送信する方法はありますか?キー[[]配列はキー用に投稿できますか?
キーのポストを介してORキーを使用することもできますが、そうです。ありがとう。 – kolosy