2016-10-27 3 views
0

Мне нужна помощь в переносе моего сервера синтаксического анализа и была показана здесь на странице поддержки синтаксического анализа.Перенос main.js в Parse Server

Я закончил миграцию базы данных в базу данных mLab и предоставил пример синтаксического анализа в геройку.

Мой проект отлично работает с извлечением моих текущих данных с помощью файла main.js по умолчанию для синтаксического анализа сервера, но я хотел бы продолжать выполнять задания ParseServer с клиента, как в этом примере iOS, поэтому я хотел бы использовать свой собственный основной .js.

[PFCloud callFunction:@"publishCard" withParameters:@{ 
@"cardID" : card.cardPF.objectId, 
} error:&error]; 

Когда я пытаюсь запустить свой проект с помощью следующего файла в качестве main.js (я переименовал это newmainjs только для видимости), это не позволяет мне войти в системе с разбором вообще больше от моего клиента IOS - Как будто это вызывает ошибки при запуске, и я не знаю, как отлаживать его, поскольку он не рассматривается в учебнике по миграции.

https://github.com/KetchupMoose/cardgameserver/blob/master/cloud/newmain.js 

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

ответ

0

взглянуть на: https://parse.com/migration

разделе "код облака" 3.

Вы должны изменить любое использование:

Parse.Cloud.useMasterKey() 

, который вы используете:

здесь: https://github.com/KetchupMoose/cardgameserver/blob/master/cloud/newmain.js#L162

и здесь: https://github.com/KetchupMoose/cardgameserver/blob/master/cloud/newmain.js#L633

вместо использования useMasterKey(), вам необходимо передать 'useMasterKey: true' для запросов и сохранения.

Вот несколько примеров из кода:

userQuery.find({ 
    useMasterKey: true, // <-- note the addition here 
    success: function(results) { 
     console.log(results.count); 
    .... 

И:

}).then(function(saveObjects) 
    { 
    Parse.Object.saveAll(updatedUserObjects, { 
     useMasterKey: true, // <--- here 
     success: function(list) { 
     //assumes all are saved 
     response.success("user EloRatings Saved Successfully"); 
     }, 
..... 

И:

Parse.Cloud.define("giveSellerGold", function(request, response) { 
    Parse.Cloud.useMasterKey(); 
    var user = new Parse.User(); 
    var query = new Parse.Query(Parse.User); 
    query.equalTo("objectId", request.params.sellerID); 
    query.first({ 
     useMasterKey: true, // <--- here 
     success: function(object) { 
      object.increment("gold", request.params.sellerGold); 
      object.save(null, { useMasterKey: true }); // <-- note how save is done. 
      response.success("Successfully saved gold"); 
     }, 
     error: function(error) { 
     response.error("update failed"); 
     } 
    }); 
}); 

так просто убедитесь, что все запросы (которые нужно) передают «useMasterKey» в опциях и должны это делать! Удачи.

+0

Большое спасибо Артуру за отзыв! Попробуй это! – BrianAllenToronto

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