每当云代码中发生更改时自动复制某些值 [ parse.com ]
Automatic copying of some value whenever it's changed in cloud code [ parse.com ]
如何用云代码 (parse.com) 编写一个短程序,自动将一个 PFObject
的字段值复制到另一个 PFObject
的特定字段(不同 class 比原来的)每当原始字段被更改时?例如,我有一些用户名,我希望在他更改姓名时自动将其复制到他的帖子对象中。
我希望它在服务器端完成。因此我需要用云代码编写它。
要实现此功能,您可以使用 Parse Cloud afterSave 过程。假设您在 Parse 中有一个配置文件 table,并且您的用户可以选择 s/he 可以更新名称。因此,您可以编写一个云 afterSave 函数,在其中搜索 Post table(基于您的用户 ID)并更新名称字段(这是一个简单的场景)下面的代码是一个示例;
Parse.Cloud.afterSave("Profile", function(request) {
var updatedList = [];
var query = new Parse.Query("Post");
query.equalTo("userId", request.object.get("userId"));
query.find({
success: function(records)
{
for(var i = 0;i < records.length;i++)
{
var currentObject = records[i];
currentObject.set("name",request.object.get("name"));
updatedList.push(currentObject);
}
Parse.Object.saveAll(updatedList,{
success: function(list) {},
error: function(error) {},
});
},
error: function(error)
{
}
});
});
以上代码在配置文件 table 中保存后触发。它搜索 Post class 并找到与您当前用户(请求者)相关的所有条目。接下来它会更新 Post table 更改名称字段的位置。
另外不要忘记此过程会针对配置文件 table 中的所有更新触发。因此,另一种选择是编写一个云函数,当您更新个人资料(在您的应用程序上)中的某些内容时触发。希望这有帮助。
此致。
如何用云代码 (parse.com) 编写一个短程序,自动将一个 PFObject
的字段值复制到另一个 PFObject
的特定字段(不同 class 比原来的)每当原始字段被更改时?例如,我有一些用户名,我希望在他更改姓名时自动将其复制到他的帖子对象中。
我希望它在服务器端完成。因此我需要用云代码编写它。
要实现此功能,您可以使用 Parse Cloud afterSave 过程。假设您在 Parse 中有一个配置文件 table,并且您的用户可以选择 s/he 可以更新名称。因此,您可以编写一个云 afterSave 函数,在其中搜索 Post table(基于您的用户 ID)并更新名称字段(这是一个简单的场景)下面的代码是一个示例;
Parse.Cloud.afterSave("Profile", function(request) {
var updatedList = [];
var query = new Parse.Query("Post");
query.equalTo("userId", request.object.get("userId"));
query.find({
success: function(records)
{
for(var i = 0;i < records.length;i++)
{
var currentObject = records[i];
currentObject.set("name",request.object.get("name"));
updatedList.push(currentObject);
}
Parse.Object.saveAll(updatedList,{
success: function(list) {},
error: function(error) {},
});
},
error: function(error)
{
}
});
});
以上代码在配置文件 table 中保存后触发。它搜索 Post class 并找到与您当前用户(请求者)相关的所有条目。接下来它会更新 Post table 更改名称字段的位置。
另外不要忘记此过程会针对配置文件 table 中的所有更新触发。因此,另一种选择是编写一个云函数,当您更新个人资料(在您的应用程序上)中的某些内容时触发。希望这有帮助。
此致。