2016-12-05 16 views
0

하여 문서를 얻기 위해보기에 매개 변수를 추가CouchDB를 내가이보기가 ID

http://127.0.0.1:5984/crm/_design/accounts/_view/accounts-view?include_docs=true 

내 결과 것은 :

{"total_rows":3,"offset":0,"rows":[ 
{"id":"8767d3474a0e80dd0ab7d0b0580065af","key":"8767d3474a0e80dd0ab7d0b0580065af","value":null,"doc":{"_id":"8767d3474a0e80dd0ab7d0b0580065af","_rev":"1-37eb3e76e4715e9a4fc8930470cc4ca3","type":"accounts","lastname":"Kitchen","firstname":"Peter"}}, 
{"id":"8767d3474a0e80dd0ab7d0b058006e3c","key":"8767d3474a0e80dd0ab7d0b058006e3c","value":null,"doc":{"_id":"8767d3474a0e80dd0ab7d0b058006e3c","_rev":"1-bcab94bb253c83b4951a787c253896f5","type":"accounts","lastname":"Kolner","firstname":"John"}}, 
{"id":"8767d3474a0e80dd0ab7d0b058008e9a","key":"8767d3474a0e80dd0ab7d0b058008e9a","value":null,"doc":{"_id":"8767d3474a0e80dd0ab7d0b058008e9a","_rev":"1-86078f00be82b97499a0f52488cefbbf","lastname":"Tower","firstname":"George","type":"accounts"}} 
]} 

첫 번째 질문, 왜 '_id'및 '키'필드가 있습니까; 둘 다 동일합니다. 두 번째 질문에 내가 ID로 필터링 할 URL에 매개 변수를 추가 할 때 : 나는 같은 결과를 얻을 수

http://127.0.0.1:5984/crm/_design/accounts/_view/accounts-view?include_docs=true&id=8767d3474a0e80dd0ab7d0b0580065af 

, 내가 ID로 필터 할 얼마나, 내가 ID로 생각 데이터베이스 때문에 특별하다 id에 의해 이미 색인화되어 있지만, 다른 필드에서 필터를 얻으면 어떨까요?

나는 모든보기가 디스크의 공간을 소비하므로 하나의보기로 모든 유형의 필터를 해결할 수 있다는 것을 알고 있습니까?

답변

1

먼저 id 검색어 매개 변수가 잘못되었습니다. 쿼리 매개 변수의 전체 목록은 page을 참조하십시오.

둘째,보기는 항상 3 개의 키를 방출합니다. 당신이 ID를 발광보기를 구축 할 경우

  • ID

그래서, 그것은 완전히 쓸모입니다.

당신은 물어볼 수도 있습니다 :하지만 왜 ID와 키를 방출합니까?

모든 사람의 전화 번호에 map/reduce를 빌드하는 시나리오를 상상해보십시오. 특정 전화 번호로 모든 문서를 가져올 수 있습니다. 색인을 붙이려면 발행 된 값/키 사이에 문서 ID가있는 링크를 유지해야합니다. 문서를 업데이트하면 ID없이 업데이트 할 수 있어야하므로 불가능합니다.