在 Parse Cloud Code 的 beforeSave 函数中获取 Parse _User 的 objectId

Get Parse _User's objectId in beforeSave function in Parse Cloud Code

场景是当新用户添加或注册该用户的对象时,必须在 'userPrivileges' class 中使用一些默认值创建该用户的对象,

我正在使用下面的代码

Parse.Cloud.beforeSave(Parse.User, function(request, response)
{
  if(request.object.isNew())
  {
    var userPrivilege = Parse.Object.extend("userPrivileges");
    var userPriv = new userPrivilege();
    userPriv.set("userType","Normal");
    userPriv.set("userID",request.object.id);
    userPriv.set("submitQus",true);
    userPriv.save();
    response.success();
  }
  else
  {
    response.success();
  }
});

问题是对象已添加到 userPrivileges,但没有获得我分配给 'userPrivileges' userID 的用户 objectId。我哪里错了?

如果对象 isNew() 无法在 beforeSave 挂钩中获取 objectID,因为该对象还不在数据库中,因此没有 ID。您应该使用 afterSave 钩子和 existed() 代替。