Parse Cloud Code - Как добавить объект из другого класса для пользователя
Мое приложение отображает данные для моих пользователей через Parse.com. Я использую их iOS SDK с их облачным кодом. Я обязан использовать облачный код для добавления объекта к моему пользователю. Я ищу что-то вроде:
[PFCloud callFuction:@"addObjectToUser" withParameters:params];
И мои параметры будут идентификатором пользователя и идентификатором объекта, который я хочу связать с этим идентификатором пользователя.
Как бы я достиг этого в JavaScript?
2 ответа
Чтобы что-то изменить в пользовательском объекте в синтаксическом анализе (без изменения самим пользователем), это должно быть сделано с помощью облачного кода и с помощью useMasterKey()
, Предполагая, что вы настроили params
как это:
NSDictionary *params = @{userID: @"12345", objectID: @"67890"};
Вы можете сохранить объекты для пользователя с помощью мастер-ключа следующим образом:
//Add Object To User's "objectsAddedToUser" array
Parse.Cloud.define("addObjectToUser", function(request, response) {
// (1)
var userID = request.params.userID;
var objectID = request.params.objectID;
// (2)
var query = new Parse.Query(Parse.User);
query.equalTo("userID", userID);
query.first().then(function (user) {
// (3)
Parse.Cloud.useMasterKey();
// (4)
user.add("objectsAddedToUser", objectID);
// (5)
user.save().then(function(user) {
response.success(user);
}, function(error) {
response.error(error)
});
}, function (error) {
response.error(error);
});
});
(1) Получить параметры, которые вы передали.
(2) Запросите базу данных и получите пользователя, которого нужно обновить.
(3) ВАЖНО! Используйте главный ключ, чтобы разблокировать привилегии.
(4) Добавьте objectID
пользователю.
(5) Сохранить для разбора.
Добавление облачной функции подробно объясняется здесь, также есть пример, который объясняет, как вы можете написать функцию java-script для манипулирования или добавления данных.