无法在Parse中保存自定义类对象

时间:2015-10-11 18:43:13

标签: javascript parse-platform cloud-code

我正在尝试创建一个Customer类对象,该对象与User类具有一对一的关系。但是没有给出任何错误,对象不会保存。 这是我的代码:

 Parse.Cloud.afterSave(Parse.User, function(request) {
 user = request.object;
 role_name = user.get("role_name");
 user_name = user.get("user_name");
 user_id = user.get("objectId");

  if (role_name == "customer"){
    user = request.object;
    console.log(" I am inside if else");

    var Customer = Parse.Object.extend("Customer");
    var cus = new Customer();
    cus.set("name2" , "albert")
    var relation = cus.relation("userId");
    relation.add(user);
    cus.save(); // Customer object should get saved here 

    cus.save(null, {
    success: function(cus) {
        // Execute any logic that should take place after the object is saved.
        console.log("I am working")
        alert('New object created with objectId: ' + cus.objectId);
    },
      error: function(error) {
        // handleParseError(error);
        console.log(error)
        // Execute any logic that should take place if the save fails.
        // error is a Parse.Error with an error code and message.
      }
    });
  }

});

我运行时记录:

  after_save triggered for _User for user qu808uKOgt:
  Input: {"object":{"createdAt":"2015-10-11T18:36:07.661Z","objectId":"qu808uKOgt","phone":"5678956475","role_name":"customer","updatedAt":"2015-10-11T18:36:07.661Z","username":"newuser16"}}
  Result: Success
  I am inside if else
  {"name2":"apple","userId":{"__op":"AddRelation","objects":      [{"__type":"Pointer","className":"_User","objectId":"qu808uKOgt"}]}}

1 个答案:

答案 0 :(得分:0)

我通过创建一个新的云功能修复了这个错误,该功能将在用户签名后立即调用。

Parse.Cloud.define('functionName', function(request, response){
  var currentUser = Parse.User.current();
  var role_name =  currentUser.get("role_name");

  if (role_name == "customer"){
  // Do something
  }
  else if (role_name == "service_provider"){
  // Do something else 
  }
)};