Когда конкретный объект удален, мне нужно использовать триггер afterDelete
для удаления ссылок на только что удаленный объект. В частности, класс User имеет столбец, который является указателем на объект типа, который был просто удален. Поэтому мне нужно отменить этот столбец для пользователей, у которых был установлен этот объект, который был просто удален. Для этого я запрашиваю пользователей, перебирая результаты запроса, unset
, используя атрибут, затем вызывающий saveAll
. Мое беспокойство заключается в том, что результаты запроса могут возвращать большое количество пользователей, и мне нужно обеспечить, чтобы все они были обновлены.Использование триггера afterDelete для изменения большого количества пользователей
Мой вопрос в том, что триггеры Cloud Code имеют ограничение максимального количества 1000? Есть ли лучший способ отключить этот указатель после удаления этого объекта? Нет ли автоматического удаления указателей на этот удаленный объект?
Parse.Cloud.afterDelete("Book", function(request) {
Parse.Cloud.useMasterKey();
var book = request.object;
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("Favorite_Book", book);
userQuery.limit(1000);
userQuery.find({
success:function(users){
for (var i = 0; i < users.length; i++) {
users[i].unset("Favorite_Book");
}
Parse.Object.saveAll(users, {
success: function(users) {},
error: function(users, error) {
console.error("Failed to update users: " + error.code + ": " + error.message);
}
});
}, error: function(error) {
console.error("Failed to fetch users: " + error.code + ": " + error.message);
}
});
});