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

时间:2015-12-02 14:10:11

标签: heroku parse-platform cloud-code

你可以在beforeSave回调中编辑数据吗?如果是,怎么编辑?

查看各种文档,看起来此代码应该有效(使用"_User"Parse.User),我可以在日志中看到Ran beforeSave on a Usernew user!但关键aaa仍然是空的..

我试图在user.save()之后添加user.set但仍然没有运气。 有什么想法吗?

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 repo https://github.com/ParsePlatform/CloudCode-Express/issues/6

上创建了一个问题

2 个答案:

答案 0 :(得分:1)

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

response.success(object);

答案 1 :(得分:0)

将代码更改为使用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();
  }
});
相关问题