2014-05-16 2 views
2

다음 코드를 사용하여 currentUser을 사용자 친구 목록에서 삭제합니다.Parse.com 클라우드 코드 : 데이터 브라우저 개체를 저장할 수 없습니다.

result.set("DateUserList", datelistArr); 

이 작동하지만, :

result.save(); 

이 작동하지 않습니다 - 데이터 브라우저를 검사 할 때 나는 변화를 볼 수 없습니다.

Parse.Cloud.define("hello", function(request, response) { 

response.success ("Hello world!"); }});

Parse.Cloud.define ("DeleteUserFromDateList"기능 (요청, 응답) {

var userToDelete = String(request.params.currentUser); 
var user = String(request.params.dateid); 

var query = new Parse.Query("User"); 
query.equalTo("fbId", user); 

query.first(
      { 
       success: function (result) 
       { 
        var datelistArr = result.get("DateUserList"); 
         for(j = 0 ; j < datelistArr.length;j++) 
         { 
          if (datelistArr[j] == userToDelete) 
          { 
           console.log("found a match"); 
           datelistArr.splice(j); 
           console.log("deleted"); 
           break; 
          } 
         } 

         console.log(datelistArr); 
         result.set("DateUserList", datelistArr); 

         result.save().then(function (savedObj) 
         { 
          response.success(userToDelete + "is deleted from " + user + " friend list"); 

         }, 
         function (saveError) 
         { 

          response.error("Unable to create this object"); 

         }); 

       }, 
       error: function() { 
        response.error("Error occured on User deletion"); 
       } 
      }); 

});

답변

1

내가 할 필요가 모든 클라우드 방식의 맨 위에 다음 코드를 추가하는 것입니다

Parse.Cloud.useMasterKey(); 

참조 : 나는 useMasterKey를 사용하는 데 필요한 때문에 https://parse.com/docs/cloud_code_guide

문제가 발생했습니다() 메소드를 호출합니다.

1

저장은 비동기식이며 response.success()를 호출하기 전에 완료 될 때까지 기다리지 않습니다. 이 약속 구문을 사용하여 결과가 저장 될 때 성공을 호출하십시오.

result.save().then(function(obj) { 
    response.success(.... 

}, function(err) { 
    ... 

}); 
+0

답변 해 주셔서 감사합니다. 그게 지금은 더 나은 저장()의 응답을 얻을 수 있지만, 여전히 작동하지 않는, 응답의 말 : 오류 - 141 – Drormat

+0

죄송합니다 오류가 206 – Drormat

관련 문제