근본적인 문제 - 내 문서에 "categories" 및 타임 스탬프이 있다고 가정 해 보겠습니다. 나는 지난 2 시간 이내의 타임 스탬프를 가지고있는 "foo는" 카테고리에있는 모든 문서를 원한다면, 그것은 간단하다 : 문제가 I 때 온다CouchDB보기의 매개 변수로 여러 키 범위
function (doc) {
emit([doc.category, doc.timestamp], null);
}
다음 쿼리
GET server:5894/.../myview?startKey=[foo, |now - 2 hours|]&endkey=[foo, |now|]
로 지난 두 시간 내에
foo 또는
바의 항목을 원합니다. 시간에 신경 쓰지 않는다면 키 컬렉션을 통해 직접 키를 가져올 수 있습니다. 불행히도 범위가있는 옵션이 없습니다.
나는 두 시간 블록 타임 스탬프를 반올림되어 그 동안 일을 결국, 다음 쿼리를 다중화 무엇 :
POST server:5894/.../myview
keys=[[foo, 0 hours], [foo, 2 hours], [bar, 0 hours], [bar, 2 hours]]
그것은 작동하지만, 내가 다시 가고 싶은 경우에 지저분한 얻을 것이다 많은 시간 (블록 크기와 관련하여).
여러 startKey/endKey 쌍을보기에 전송할 수 있습니까? 키에 게시 할 수있는 키 : [] 배열과 비슷합니까?
키를 통해 OR 키를 사용할 수도 있지만 그래요. 감사. – kolosy