如何使用解析云代码更新对象的属性
How to update a property of an object using Parse Cloud Code?
我的 Parse 数据库中的每个 Parse Installation
对象实例都有一个指向特定用户的指针。我有一个为每个用户运行的后台作业,我想在后台作业的这一部分中执行的操作是将相应的用户Installation
的channel
属性设置为 ["yesPush"]
,用于推送通知目标目的。
我想这样做的方法是查询特定的Parse.Installation
实例,然后设置其 channel 属性。然而,这似乎不起作用。我正在尝试遵循 Parse Cloud Code 文档中的准则,但它要么不是正确的用例,要么我没有正确遵循它。
法典:
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()
函数是处理作业中大型数据集的方式。如果你在其中执行其他异步任务,你需要返回它们的承诺。
如果我们只期望一条记录,first()
函数会更快、更容易。
我正在调用set()
first()
返回的实际installation
对象。
我正在返回允许承诺链接的save()
承诺。
相关文章:
- 如何在 Firebase 的 Angular-Fire 中使用 $save() 来更新对象属性值
- Expressjs&集合中的MongoDB更新对象's数组
- Physijs更新对象质量
- 如何使用setAttribute更新对象中的一个值
- 在分析中创建或更新对象
- 从knockout.js中的下拉列表更新对象
- Grails richui自动完成将对象传递给函数或更新对象ID
- 我正在使用 $scope.$apply 在 http 调用后更新对象数组.谁能告诉我正确的方法
- 如何使用 AngularJS 根据选择更改更新对象数组
- 从新对象的属性更新对象的属性,但前提是新对象上的属性不是未定义的
- 角度.js从NG重复更新对象数据
- 删除 JavaScript 中的重复代码;更新对象传递到函数中
- javascript:通过递增 objectKeys 值来更新对象
- 根据输入更新对象数组
- 想要在回调中更新对象,给出正确的日志,但全局对象未更新
- 流星:如果值等于 X,则更新对象 1,否则更新对象 2
- 如何在 Javascript 中更新对象数组中每个对象的值
- 嵌套的 ng-repeat 不会更新对象
- 使用从 MongoDB 获取的新数据更新对象属性
- 按 $parent.$index 和$index更新对象$scope项