2015-01-12 4 views
1

다음 문서 CouchDB를에 저장되어 다음 어떻게 배열의 요소를 쿼리

{ 
    { 
    "_id": "1", 
    "_rev": "3-2882a4696d580cdef754a93c7e5e77e7", 
    "comb": [ 
     "4-5", 
     "4-6", 
     "5-6" 
    ] 
    }, 
    { 
    "_id": "2", 
    "_rev": "2-1991a898a5457308e3a89253e695cef5", 
    "comb": [ 
     "4-5", 
     "5-6" 
    ] 
    } 
} 

지도 기능을이다

function(doc) { 
    emit(doc.comb, null); 
} 

http://localhost:5984/comb/_design/snp/_view/by_test?key="4-6" 만 반환

{"total_rows":2,"offset":0,"rows":[ 

]} 

방법 배열에서 요소를 찾을 수 있습니까?

답변

2

당신은 배열의 각 요소에 대해 emit를 호출해야합니다 :

for (var i in doc.comb) { 
    emit(doc.comb[i], null); 
} 

그런 다음 쿼리가 쿼리에 지정된 키를 포함하는 빗 배열이있는 모든 문서를 찾을 수 있습니다.

+0

감사합니다.하지만 'emit (doc.comb [c], null);'로 변경해야했습니다. – user977828

+0

아, 물론입니다. 고쳤다. –

관련 문제