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

Setting some Parse.User property on beforeSave when running on Heroku

你能在 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 集成的错误。 beforeSave 挂钩被调用但似乎不允许您编辑 request.object..

编辑 2015/12/07:我在 CloudCode-Express 回购 https://github.com/ParsePlatform/CloudCode-Express/issues/6

上创建了一个问题

更改您的代码以使用 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();
  }
});

使用Webhooks,需要传回改变的对象:

response.success(object);