2017-02-14 6 views
0

Я пытаюсь отправить push-уведомление конкретному пользователю с использованием сервера синтаксического анализа. Однако в классе установки нет пользовательского столбца, указывающего на то, какой пользователь имеет эту установку. Следовательно, запрос на установку ничего не возвращает. Мой вопрос заключается в том, должен ли класс установки автоматически создать пользовательский столбец, или я должен каким-то образом связать их? и если да, то любая помощь будет оценена.Parse Server - класс установки отсутствует столбец пользователя

P.S. Я отправляю push-уведомление с помощью Cloud Code. Поэтому я использую javascript.

+2

вы должны связать пользовательский класс (указатель) с классом установки вручную ... идеальный способ, когда вы создаете новую установку на клиенте сохранить идентификатор пользователя к классу установки –

ответ

1

Класс установки автоматически не устанавливает столбец пользователя - вам нужно сделать это вручную.

Я предлагаю вам создать и сохранить пользователя, а затем обратный вызов успеха будет иметь сохраненный объект пользователя в качестве параметра, и затем вы можете установить User в своем установочном документе.

Вот краткий фрагмент кода:

var currentInstallation; 
installationModule.getInstallationById(installationId) 
    .then(function (installation) { 
    if (installation) { 
     currentInstallation = installation; 
     var user = createParseUser(newUser); 
     return user.save(); 
    } 
    else { 
     // return error 
    } 
    }) 
    .then(function (user) { 
    currentInstallation.set('user', user); 
    return currentInstallation.save() 
    }, function (error) { 
    // TODO: handle error 
    }); 
+0

Спасибо, возможно ли это сделать для облачной функции afterSave для Parse.User? или лучше сделать afterSave для Parse.Session, потому что разные пользователи могут войти с одного и того же устройства. ваши мысли будут оценены. –

+0

Рад, что мой ответ был полезен. Что касается триггеров, для стартеров Parse.Session не имеет триггеров облачного кода, в отличие от других классов. Это означает, что вы не можете использовать afterSave в Parse.Session. Что касается использования afterSave на Parse.User, теоретически это хорошая идея, но моя единственная проблема заключается в том, что у вас не будет объекта Installation в триггере, чтобы связать пользователя с ним. – Wissam

+0

Да, после того, как я попытался запустить Parse.Session, это не сработало. Я решил сделать это на стороне клиента, я думаю, что это самый простой способ. –