2015-09-11 3 views
0

Из-за ограничений встроенного языка сценариев, который я использую (язык сценариев Linden, LSL для краткости), я должен полагаться на REST api для Parse.com, и, к сожалению, REST api документация неясна или неполна по некоторым предметам.Parse.com Rest API - манипулирование массивами

Это (грубо говоря), что мои объекты будут выглядеть следующим образом:

{ 
    "objectId": string_val, 
    "createdAt": date_val, 
    "updatedAt": date_val, 
    "OwnerKey": string_val, 
    "DocID": string_val, 
    "Data": [] 
} 

Что мне нужно сделать две вещи:

  1. Мне нужно, чтобы иметь возможность добавлять строковые значения в Массив данных, если они еще не существуют. «add-unique» - это имя операции, но я понятия не имею, как использовать ее из REST api.
  2. Мне нужно иметь возможность загружать массив в куски. Например, сначала загружают элементы с 0 по 31, затем элементы с 32 по 63 и так далее. Это связано с ограничениями как на использование памяти (общая сумма 64 Кбит), так и ограничение размера органов ответа HTTP (16 КБ), и я ожидаю, что общий размер списка станет довольно большим.

Я знаю, что не все владеют LSL (и быть благодарными за то, что вы этого не сделали!), Поэтому ответы не обязательно должны быть в LSL. Я понимаю код Python, поэтому ответы могут быть в этом. Я также понимаю примеры CURL, которые parse.com использует в своей документации REST, поэтому ответы также могут быть в этом.

ответ

1
  1. Это directly addressed in the REST API Guide under "Arrays" и был первый результат, когда я искал «AddUnique» над https://parse.com/docs/rest.

  2. Объекты ограничены 128 КБ, поэтому хранение большого массива объектов, подобных этому, не рекомендуется. Можете ли вы использовать поле «Отношение» вместо этого, как рекомендовано в «Руководстве по отношениям»?

+1

1. Хорошо, мне нужно прекратить скимминг, lol. –

+0

2. Я сделал математику, и проблемы использования памяти не так велики, как я полагал. 128k должно быть достаточно, чтобы хранить примерно 3000 UUID, считая, что строки хранятся как UTF-8. Если есть способ заставить его хранить двоичную форму UUID в виде 128-битного целого числа, емкость чуть более чем удваивается. В любом случае, я посмотрю на отношения, чтобы посмотреть, будут ли они полезны. –