2015-10-13 1 views
0

У меня есть функция облачного кода, которая запрашивает некоторые данные и возвращает их в группы. Для каждой записи в этих группах мне также нужно получить информацию о столбце, который является указателем. Мой код облака:Parse iOS не извлекает данные указателя

var queryAuctionParticipant = new Parse.Query('AuctionParticipant'); 

queryAuctionParticipant.equalTo('userId', request.user); 

queryAuctionParticipant.include('auctionId'); 
queryAuctionParticipant.include('auctionId.creatorId'); 

queryAuctionParticipant.findAll({ 
    success: function(resultAuctionParticipant) { 
     var grouped = { 
      upcoming : [], 
      previous : [], 
      running : [], 
     }; 

     for (var i=0; i<resultAuctionParticipant.length; i++) { 
      var obj = resultAuctionParticipant[i]; 
      var auctionId = obj.get('auctionId'); 

      if (obj.get('auctionId').get('startsAt') > now) { 
       grouped.upcoming.push(auctionId); 
      } 
      else if (obj.get('auctionId').get('endsAt') < now) { 
       grouped.previous.push(auctionId); 
      } 
      else { 
       grouped.running.push(auctionId); 
      } 
     } 

     response.success(grouped); 
    }, 
    error: function(error) { 
     response.error(error, error.code); 
    } 
}); 

Все отлично, пока здесь. Если я попытаюсь сделать console.log.get('auctionId').get('creatorId') любой из записей в функции облачного кода, все данные будут записываться отлично, без проблем.

Однако в результате моего callFunctionInBackground столбец creatorId преобразуется в экземпляр PFUser (правильно), но экземпляр пуст, ни один из столбцов не присутствует.

Кажется, что SDK Parse не анализирует результат JSON на PFObject/PFUser на очень глубоком уровне. Это означает, что если у меня много указателей внутри указателей, он не будет извлекать данные, даже используя механизм Parse для включения ключей и/или указателей.

Любые мысли?

Спасибо!

ответ

1

Имел similar problem некоторое время назад в CloudCode, где-то все поля, где опустели по запросу.

Это оказалось ошибкой в ​​новейшем SDK от Parse. Пожалуйста, посмотрите на свою папку CloudCode - она ​​должна содержать файл global.json, где вы можете указать версию JS SDK. По умолчанию в версии указано «последнее», измените ее на «1.4.2» и снова загрузите свою папку с облачным кодом.

В случае отсутствия файла global.json в вашей папке с облачным кодом, пожалуйста, ознакомьтесь с вышеупомянутым потоком, где я описал, как его создать вручную.

Надеюсь, это сработает для вас!

+0

спасибо! Это сводило меня с ума! –

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

  • Нет связанных вопросов^_^