다음보기 함수를 사용하여 데이터베이스의 모든 항목을 반복하여 (태그를 찾기 위해), 데이터 집합이 큰 경우 성능이 매우 좋지 않다고 생각합니다. 다른 방법이 있습니까?CouchDB를 사용하여 "태깅"지원을 구축하는 방법은 무엇입니까?
def by_tag(tag):
return '''
function(doc) {
if (doc.tags.length > 0) {
for (var tag in doc.tags) {
if (doc.tags[tag] == "%s") {
emit(doc.published, doc)
}
}
}
};
''' % tag
실제로!'startkey'를 사용하면 이렇게하는 것이 올바른 방법 일 것입니다. – rfunduk
emit ([doc.tags [doc], doc.published), doc)하지 않아야하나요? 그렇지 않으면, 내가 잘못 본 것이 아니라면, 당신은 지표를 방출 할 것입니다. –