2015-08-03 3 views
0

Я разрабатываю приложение для социальной сети, которое использует Parse.com в качестве исходного кода Я дал пользователям возможность изменять свое имя, адрес электронной почты и изображение профиля (которое является parseFile) И когда пользователи вошли в системе я дал им возможность добавлять Должностям добавляют посты, получая электронную почту пользователя и имя,Автоматическое обновление данных Parse.com

ParseUser.getCurrentUser() 

и сохранение возвращенного содержания моей ParseObject но теперь вопрос, что если пользователь обновил свои данные, которые представляют собой изображение профиля или имя или адрес электронной почты, как обновить данные сообщения динамически

ответ

0

Вам придется написать некоторый код облака. https://parse.com/docs/js/guide

Я бы создал триггер beforeSave для своих пользователей, проверьте, не были ли соответствующие поля «грязными» (были изменены), и, если они были, создайте новый объект класса клиента, который просто имеет указатель на этого пользователя.

Сохраните указатель на пользователя в каждом сообщении.

Создайте фоновое задание, которое выполняется каждый день/час/однако часто вы хотите делать эти обновления, которые проходят через все ваши пользовательские объекты, содержащие пользователя, и используйте Query.each() для прохождения каждого из этих объектов, а затем выполнить запрос для всех сообщений, где пользовательский ключ равен пользователю пользовательского объекта. Затем установите соответствующие поля имени/электронной почты.

Удостоверьтесь, что когда вы закончите, вы удалите все пользовательские объекты, чтобы вы не постоянно выполняли это задание на все больше и больше объектов каждый раз.

В качестве альтернативы вы можете просто добавить указатель пользователя к сообщению, а когда вы забираете свои сообщения, включите ключ пользователя, чтобы он также был извлечен. Затем вы можете прочитать имя/адрес электронной почты непосредственно от пользователя, который всегда будет динамическим. Вы должны убедиться, что ваши ACL настроены так, чтобы пользователи не могли редактировать всю информацию другого пользователя или что-то еще.

+0

Положите ли мне код облачного кода javascript, пока я использую androoid –

+0

Облачный код написан на javascript, да, но к нему обращаются от любого клиента. Вы не хотите, чтобы клиенты получали слишком большие объемы данных, т. Е. Каждый пост, который когда-либо делал пользователь. Эти данные должны быть получены и отправлены обратно, когда они будут обновлены. Это должно быть сделано на стороне сервера, а не в облачном коде. Вы вызываете свои функции облачного кода от клиента android. Если вы закончите выпуск версии iOS, вам не придется переписывать любые облачные функции. Вы получаете доступ к тем же. Использование облачного кода будет единственным правильным способом для этого. –

Смежные вопросы