【问题标题】:Not able to save a custom class object in Parse无法在 Parse 中保存自定义类对象
【发布时间】:2015-10-11 18:43:12
【问题描述】:

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

 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"}]}}

【问题讨论】:

  • 你尝试使用cus.save().then(function(saveObj){ console.log("I am working") },function(error){ console.log('error') });
  • @XenoN 我试过了,但什么也没发生
  • 甚至没有错误日志?
  • 这就是我得到的 - 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"}]}}
  • 已编辑问题与日志请检查

标签: javascript parse-platform parse-cloud-code


【解决方案1】:

我通过创建一个新的云函数来修复此错误,该函数将在用户注册后立即调用。

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 
  }
)};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多