在Heroku上运行时,正在beforeSave上设置一些Parse.User属性



您可以在beforeSave回调中编辑数据吗?如果可以,如何编辑?

查看各种文档,这段代码似乎应该可以工作(使用"_User"Parse.User),我可以在日志中看到Ran beforeSave on a Usernew user!,但密钥aaa仍然是空的。。

我尝试在user.set之后添加user.save(),但仍然没有成功。知道吗?

Parse.Cloud.beforeSave("_User", function(request, response) {
  console.log('Ran beforeSave on a User');
  var user = request.object;
  if(user.existed()) {
    response.success(); 
  } else {
    console.log('new user!');
    user.set('aaa', 'xxx');
    response.success();
  }
});

编辑2015/12/03:可能是关键信息,此代码正在heroku上运行。http://blog.parse.com/announcements/introducing-heroku-parse/

编辑2015/12/05:这似乎是Heroku/Parse集成的一个错误。beforeSavehook被调用,但似乎不允许您编辑请求。object.

编辑2015/12/07:我在CloudCode-Express回购上创建了一个问题https://github.com/ParsePlatform/CloudCode-Express/issues/6

使用Webhook,您需要将更改后的对象:

response.success(object);

更改代码以使用isNew()方法:

Parse.Cloud.beforeSave(Parse.User, function(request, response) {
  console.log('Ran beforeSave on a User');
  if(!request.object.isNew()) {
    response.success(); 
  } else {
    console.log('new user!');
    request.object.set('aaa', 'xxx');
    response.success();
  }
});

最新更新