2014-06-05 3 views
4

하나의보기에서 여러 문서를 연결할 수 있습니까?CouchDB 여러 문서 연결

예는 :

{ 
    "_id" : "0b86008d8490abf0b7e4f15f0c6a463b", 
    "name" : "copenhagen"} 
{ 
    "_id" : "8986008d8490abf0b7e4f15f0c6a333b", 
    "player" : "Mark" 
} 
{ 
    "_id" : "4b86008d8490abf0b7e4f15f0c6a463c", 
    "location" : { "uuid" : "0b86008d8490abf0b7e4f15f0c6a463b"}, 
    "player" : { "uuid" : "8986008d8490abf0b7e4f15f0c6a333b"}, 
    "session" : "9876" 
} 

내가보기 위치 문서뿐만 아니라 플레이어의 문서를 포함 할.

보기 : 나는 includedocs를 사용하는 쿼리에서

"fetchByLocationAndPlayer": { 
     "map": "function(doc) { if (doc.session) { emit(doc.session, { _id : **doc.location.uuid** });  } }" 
    } 

= 사실.

하나의 문서에서 여러 키에 해당하는 여러 문서를 내보내려면 어떻게해야합니까?

답변

5

예 가능합니다. 아직 하나 개가 아닌

emit(doc.session, {_id:doc.location.uuid}); 
emit(doc.session,{_id:doc.player.uuid}); 

Couch db wiki 목록의 배열을 반복하고 링크 된 문서 하나 하나를 방출함으로써이 일을 다른 방법이 개 방출한다을 사용합니다.

+0

고마워요! 그것은 작동합니다. 링크 된 문서에서 방출되는 json을 제한 할 수있는 방법이 있습니까? 이것은 링크 된 전체 문서를 doc 속성으로 방출합니다. – Bhoomi

+0

@Bhoomi 불행히도 없습니다. 링크 된 문서에서 내보낼 필드는 선택할 수 없습니다. 그것을 생각 해보니 좋은 특징이 될 것입니다. –

+1

목록 함수를 사용하여 뷰의 총 출력을 확인할 수 있습니다. http://docs.couchdb.org/en/latest/couchapp/ddocs.html?highlight=list%20function#list-functions –

관련 문제