자체 참조하는 부모/자식 관계가 들어있는 테이블을 Parse.com의 클래스로 가져 왔습니다. 구문 분석은 이제 UID를 바꿀 새 ID를 만듭니다. 해당하는 모든 상위 ID 필드를 업데이트 할 수 없습니다.자체 참조 Parse.com 클래스
Parse.Cloud.define("updatePID", function(request, response) {
var _results={};
var query = new Parse.Query("ww_notes");
query
.limit(1000)
.find({
success: function(results){
for (var i=0; i<results.length; i++){
_results[results[i].get("uid")] = results[i].id;
};
for (var i=0; i<results.length; i++){
if (_results[results[i].get("pid")]){
results[i].set("test", _results[results[i].get("pid")]);
results[i].save();
};
};
response.success(results);
},
error: function(){
response.error("failed PID update");
}
});
})
이는 수정 된 레코드 집합을 반환하지만 데이터베이스에 저장하지 않습니다 나는 거의 관리했습니다
는 약간의 구름 코드로 가야합니다. 참고 : 테스트는 PID 업데이트로 전환하기 전에이 함수가 작동하도록하는 테스트 필드 일뿐입니다. 정적 쓰기를 첫 번째 루프로 이동하여이 문제를 단순화하려고 시도했습니다.
for (var i=0; i<results.length; i++){
_results[results[i].get("uid")] = results[i].id;
results[i].set("test", "things");
results[i].save();
};
이 부분은 245 개 레코드로 4 개 업데이트되었습니다. 되돌려 진 레코드 세트는 올바르게 업데이트되었지만 Parse 데이터 저장소는 올바르게 업데이트되지 않았습니다. 나는 245 개의 레코드 중 27 개가 업데이트되는 동일한 작업을 만들었습니다. 작업이 성공적으로 반환되었습니다.
스티븐
그것은 [이 사람] (http://stackoverflow.com/questions/28089080/rate- 같은 문제를 보인다 ... (가) 저장 배치와 같은 사용의 약속입니다 제한 - 파스컴 배경 작업/28093694 # 28093694). 너무 많은 요청없이'Parse.Object.saveAll'을 사용하십시오. – eth3lbert