Как написать в облачном коде (parse.com) короткую программу, которая автоматически копирует значение поля одного PFObject
в определенное поле других PFObject
(другого класса, чем исходный) при изменении исходного поля? Например, у меня есть имя пользователя, и я хочу, чтобы он автоматически копировался на объекты своих сообщений, когда он менял свое имя. И я бы хотел, чтобы это было сделано на стороне серверов. Таким образом, я нуждаюсь в этом, написанном в облачном коде.Автоматическое копирование некоторого значения, когда оно изменено в облачном коде [parse.com]
ответ
Для реализации этой функции вы можете использовать процедуру Parse Cloud afterSave. Предположим, у вас есть таблица Profile в Parse, и у вашего пользователя есть опция, где он/она может обновить имя. Таким образом, вы можете написать функцию cloud afterSave, в которой вы просматриваете таблицу Post (на основе вашего userId) и обновляете поля имени (это простой сценарий). Ниже приведен пример кода;
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)
{
}
});
});
Приведенный выше код запускается после сохранения в таблице профилей. Он ищет класс Post и находит все записи, связанные с вашим текущим пользователем (реквестером). После этого обновляется столбец Post, где он меняет поле имени.
И НЕ ЗАБУДЬТЕ, эта процедура запускается для всех обновлений в таблице профилей. Таким образом, еще один вариант - написать облачную функцию, в которой вы запускаете, когда вы обновляете что-то в профиле (в своем приложении). Надеюсь это поможет.
С уважением.
Что вы сделали до сих пор? Любой код? – Abhishek
Почему бы просто не обратиться к пользователю и не потянуть его, когда вам это нужно? Обновление всех сообщений пользователей, когда что-то изменится, может сильно повлиять на ваш предел скорости запроса ... – Wain