"_id", "name"및 "status"필드가있는 pouchDB 문서를 만듭니다. 그러나 문서의 "상태"필드를 업데이트하려면 다른 필드를 모두 지정해야합니다. 그렇지 않으면 변경되지 않습니다. 그렇지 않으면 삭제됩니다. 즉, 업데이트시 "이름"필드를 지정하지 않으면 더 이상 문서의 "이름"필드가 없습니다. pouchDB 문서의 단일 필드를 업데이트하는 방법
function createFriendSchedule(friend){
pouchDB.put({
_id : friend['id'],
name : friend['name'],
status: "new"
}, function(err, response){
createAndDispatchEvent("friend Schedule created");
});
}
이
내가 "이름"을 지정하지 않으면 기록을 밖으로window.pouchDB.query(
{map : map},
{reduce : false},
function(err, response){
var responseRows = response['rows'];
var cleanedList = [];
_.each(responseRows, function(friend){
cleanedList.push({'_id' : friend['key'][0], 'name' : friend['key'][1], 'status' : friend['key'][2] });
});
window.reminderList = cleanedList;
console.log(window.reminderList);
createAndDispatchEvent("Returned reminder list");
});
을 당겨하는 데 사용되는 코드 문서 여기
function changeFriendStatus(friend){
pouchDB.get(friend['id'], function(err, retrieved){
pouchDB.put({
_id : friend['id'],
_rev : retrieved._rev, //need to specify _rev otherwise conflict will occur
name : retrieved.name, //if you don't specify name should remain the samme as before, then it will be left off the record!
status : friend['status']
}, function(err, response){
if(err){
console.log("COULDN'T CHANGE FRIEND STATUS");
} else { createAndDispatchEvent("friend status changed") }
});
});
}
그리고를 업데이트하는 코드입니다 업데이트시 pouchDB.query에서 emit() 호출에 의해 반환 된 배열에는 "name"값이있을 것으로 예상되는 null 값이 들어 있습니다.
정말 멋진 라이브러리를 만들어 주셔서 감사합니다. :) 저는 지금 당장 브라우저에서 할 수있는 모든 것을 당연한 것으로 생각합니다! 다른 사람을 명시 적으로 업데이트 할 필요없이 단일 (또는 여러 개의) 필드를 업데이트 할 수있는 사람을 위해 가능한 해결 방법을 게시했습니다. – JoeyC