2017-10-02 8 views
0

거기에 새로운 couchdb 문서에 존재하는 모든 couchdb 문서에 새로운 필드를 추가하는 방법입니다. "emailType"을 추가하려면 다음과 같이하십시오. "true"를 전자 메일에 대한 기존 문서에 입력하십시오. docType 나는 이것을 달성하기 위해 updatehandler을 사용하여 여기거기에 새로운 필드/값을 추가 couchdb 존재하는 문서

{ 
     "_id": "37fbfee963e9a989becbe9fe746891eb", 
     "_rev": "5-28bb00c72c0807772051d8d71b67eda0", 
     "docType":"emails", 
     "emails": [ 
      { 
       "emailAddress": "aaaa", 
       "emailType": "true" 
      } 
    } 

감사 할 수있는 방법 확실하지 내가

function(doc) { 
    if (doc.emails && doc.docType == "emails") { 
     var emailsLength = doc.emails.length; 
     for (var i = 0; i < emailsLength ; i++) { 
     emit(doc.emails[i].emailAddress, doc); 
    } 
    } 
} 
+1

[couchdb에서 문서의 레코드/필드를 업데이트하는 방법] 가능한 복제본 (https://stackoverflow.com/questions/4132702/how-to-update-a-documents-record-field-in-couchdb) – Flimzy

답변

1

불행히도 존재하는 이메일 문서를 무엇을 얻을, 당신은 업데이트를 한 번에 여러 문서를 수정할 수 없습니다입니다 기능. 이를 위해서는 설명하는 뷰에서 내 보낸 모든 문서를 반복하는 스크립트를 작성해야합니다.

여기에 how to create update functionshow to call them이 문서에 나와 있습니다. 그러나 문서를 수정할 수있는 유일한 방법은 아닙니다. 어쩌면 bulk_docs 작업이 유용 할 수 있습니다.