首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析cloudcode beforeSave获取预更新的对象

解析cloudcode beforeSave获取预更新的对象
EN

Stack Overflow用户
提问于 2014-08-01 14:16:22
回答 5查看 5.3K关注 0票数 11

beforeSave钩子中,我希望在更新之前获得对象的状态。在这种情况下,它是阻止用户改变他们的选择,一旦他们做了。伪代码看起来类似于:

代码语言:javascript
运行
复制
If (user has already voted) {
  deny;
} else {
  accept;
}

到目前为止,我的代码是:

代码语言:javascript
运行
复制
Parse.Cloud.beforeSave('votes', function(request, response) {
  if (!request.object.isNew()) {
    // This is an update.  See if the user already voted
    if (request.object.get('choice') !== null) {
      response.error('Not allowed to change your choice once submitted');
    }
  }
  response.success();
}

但是request.object是已经应用了更新的对象的状态。

请注意,“选票”对象是单独创建的,因此这不允许插入,但不允许更新;我需要知道数据库中是否已经设置了给定的字段。

EN

Stack Overflow用户

发布于 2014-11-04 02:42:14

您可以使用Parse DirtyKeys来识别哪个字段已经更改。

代码语言:javascript
运行
复制
   Parse.Cloud.beforeSave(Parse.User, function(request, response) {
  for (dirtyKey in request.object.dirtyKeys()) {
    if (dirtyKey === "yourfieldname") {
      response.error("User is not allowed to modify " + dirtyKey);
      return;
    }
  }
  response.success();
});
票数 10
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25082262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档