Получить идентификатор объекта Parse _User в функции beforeSave в коде Parse Cloud

Сценарий: когда новые пользователи добавляют или регистрируются, объект этого пользователя должен быть создан в классе userPrivileges с некоторыми значениями по умолчанию,

Я использую код ниже для этого

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». Где я ошибаюсь?


person Muhammad Awais    schedule 16.09.2015    source источник


Ответы (1)


Невозможно получить objectID в хуке beforeSave, если объект isNew(), потому что объект еще не находится в базе данных, следовательно, у него нет идентификатора. Вместо этого вы должны использовать хук afterSave и existed().

person Piotr Tobolski    schedule 16.09.2015
comment
Спасибо, я так и думал :D - person Muhammad Awais; 16.09.2015
comment
Вы проголосовали за меня, но не отметили ответ как принятый meta.stackexchange.com/questions/5234/ заранее спасибо - person Piotr Tobolski; 22.09.2015