0
사용자 테이블에 사용자 정의 열을 설정하는 클라우드 기능을 정의했습니다. 나는 6 개 결과 내 쿼리에 대해 반환했지만 필드의 업데이트는 질의 후, 아래의 코드를 잘못 이해하지 수, 3 행에 대한Parse.com : 사용자 테이블 업데이트가 작동하지 않습니다.
Parse.Cloud.define("updateSaturdayAbsentWeeks", function(request, response) {
// User master key so that we can update all users
Parse.Cloud.useMasterKey();
// Tables to Query
var query = new Parse.Query(Parse.User);
// We want only players who are absent on Saturdays
query.equalTo("isSaturdayAbsent", true);
query.find({
success: function(results) {
console.error('updateSaturdayAbsentWeeks, Saturday absent players count ' + results.length);
for (var i = 0; i < results.length; i++) {
var absentUser = results[i];
var absentWeeks = absentUser.get('saturdayAbsentWeeks') - 1;
absentUser.set("saturdayAbsentWeeks", absentWeeks);
absentUser.save();
console.error('updateSaturdayAbsentWeeks, absentWeeks for user name = ' + absentUser.get('username') + ', is = ' + absentWeeks)
}
// All done
response.success("updateSaturdayAbsentWeeks finished successfully");
},
error: function() {
console.error("runSaturdayExpense, lookUp Failed - Each player enjoyed the game on Saturday ");
response.error("updateSaturdayAbsentWeeks failed");
}
});
});
을 어떻게 내가 6 개 기록을 돌아 볼 수 있지만 용의 루프는 3 개의 레코드 만 업데이트하고 다른 3 개의 레코드에는 아무 것도 수행하지 않으며 오류가 반환되지 않습니다.
6 개의 레코드가 모두 업데이트되지 않는 이유를 이해할 수있는 모든 정보가 크게 도움이 될 것입니다.
감사
이것은save()
함수가 비동기식이라는 사실과 관련이있다