javascript - 如何使用 Parse Cloud Code 更新对象的属性?

标签 javascript parse-platform parse-cloud-code

我的 Parse 数据库中的每个 Parse Installation 对象实例都有一个指向特定用户的指针。我有一个为每个用户运行的后台作业,我想要在后台作业的这一部分中执行的操作是将相应用户的 Installationchannel 属性设置为["yesPush"],用于推送通知定位目的。

我认为这样做的方法是查询特定的Parse.Installation实例,然后设置其 channel 属性。但这似乎不起作用。我正在尝试遵循 Parse Cloud Code Docs 中的指南,但这要么不是正确的用例,要么我没有正确遵循它。

代码:

var installationQuery = new Parse.Query(Parse.Installation);
installationQuery.equalTo('userId', parentUser);

installationQuery.find().then(function(results) {
  return Parse.Object.set('channels', ["yesPush"]);
});

最佳答案

我的做法如下:

// for every User
var userQuery = new Parse.Query(Parse.User);
userQuery.each(function(user) {
  var installationQuery = new Parse.Query(Parse.Installation);
  installationQuery.equalTo('userId', user);

  return installationQuery.first().then(function(installation) {
    installation.set('channels', ['yesPush']);
    return installation.save();
  });
}).then(function() {
  status.success();
}, function(error) {
  status.error(error.message);
});

each() 函数是您在作业中处理大量数据的方式。如果您在其中执行其他异步任务,您需要返回他们的 promise 。

如果我们只期望一条记录,first() 函数会更快、更容易。

我正在对 first() 返回的实际 installation 对象调用 set()

我正在返回 save() promise 以允许 promise 链接。

关于javascript - 如何使用 Parse Cloud Code 更新对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25534366/

相关文章:

javascript - 为什么这个正则表达式输出不正确?

javascript - 如何将外部 CSS 文件导入 JS 包?

javascript - 阻止加载混合事件内容 Mozilla 浏览器

javascript - GeoJson 特征属性从字符串到整数

swift - 将解析当前用户指针列值分配给另一个类列(Swift)

javascript - 不知道为什么内心的 promise 没有被触发

javascript - 如何使用 Parse 将推送通知从 Web 应用程序发送到 Android 设备?

android - 使用 parse.com 和 android studio 设置推送通知时出错

javascript - 真的很困惑 re : how to use Parse Promises correctly in Cloud Code

parse-platform - 在 Parse.com 中使用云代码自动更新数据