【问题标题】:Setting some Parse.User property on beforeSave when running on Heroku在 Heroku 上运行时在 beforeSave 上设置一些 Parse.User 属性
【发布时间】:2015-12-08 22:02:09
【问题描述】:

你能在 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();
  }
});

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

EDIT 2015/12/05:这似乎是 Heroku / Parse 集成的错误。 beforeSave 钩子被调用,但似乎不允许您编辑 request.object..

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

【问题讨论】:

  • 您正在尝试将值设置为本地用户变量。试试这个:request.object.set('aaa','xxx');
  • 我们在代码中使用了相同的user.set() 函数,即使使用局部变量,它也能正常工作。但是,我们在使用 existed() 时遇到了一些问题,对于我们的用例,我们可以改用 if (!user.get('aaa')) {}
  • 我尝试在重构之前直接引用request.object.. 不走运...
  • 我遇到了同样的问题,也在heroku上运行beforeSave。我认为这是 Parse webhook 实现中的一个错误,因为当它直接在 Parse Cloud Code 中实现时它确实有效。可能必须将 beforeSave 放回 Parse 服务器而不是 heroku,直到他们修复它...

标签: heroku parse-platform parse-cloud-code


【解决方案1】:

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

response.success(object);

【讨论】:

【解决方案2】:

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

【讨论】:

  • 正如我所说,日志显示new user! 所以块被执行..不确定它会给我更多...但是谢谢..
  • 这就是全部功能吗?您在日志中看到的 Input 和 Result 是什么?
  • 是的.. 我看到 'Ran beforeSave on a User' && 'new user!'
  • 你能把这两行贴在这里吗?以 Input 和 Result 开头的那些
  • 2015-12-03T09:39:47.487912+00:00 app[web.1]: Ran beforeSave on a User 2015-12-03T09:39:47.487982+00:00 app[web.1] 1]:新用户!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-18
  • 1970-01-01
  • 2011-05-12
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多