2015-05-19 4 views
2

У меня есть две версии моего приложения для разбора, теста и живой версии.Parse - вручную установить идентификатор объекта

Создал новый класс и создал экземпляр класса для каждого приложения. Внутри моего приложения iOS я вызываю этот экземпляр, чтобы получить кучу строк для использования через приложение. К сожалению, я решил запросить идентификатор объекта, и я забыл заменить идентификатор объекта тестовой версии приложения идентификатором версии live приложения ... поэтому запрос не возвращает объект, а мои строки не установлены.

Я боюсь, что это не будет проблемой. Apple примет ускоренный выпуск. Кажется, мой лучший выбор - создать объект с одним и тем же идентификатором объекта, чтобы он был поднят. Это не потребует обновления в магазине приложений.

Есть ANY Способ для этого? Я нашел метод createWithoutData, но он не работает, создав экземпляр, только ссылается на существующий экземпляр. Я попробовал следующее, но при попытке сохранить его возвратил ошибку «объект, не найденный для обновления».

// Create a pointer to an object of class Point with id dlkj83d 
var Point = Parse.Object.extend("Point"); 
var point = new Point(); 
point.id = "dlkj83d"; 

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

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

Спасибо за любые советы.

ответ

8

PARSE не позволяют установить идентификатор объекта вручную или Программным хотя вы можете изменить существующий ObjectID со следующим шагом

1) Возьмите резервную копию определенного класса, который вы хотите изменить ObjectID.

2) Резервный файл будет в формате .json открытым в текстовом редакторе.

3) Найдите ObjectID и замените его новым ObjectID.

4) Импортируйте это в Parse thats all.

Надеюсь, это поможет.

Редактировать - это все еще возможно с Parse-Server, хотя это должно быть сделано непосредственно через вашу базу данных, а не Parse-Server. Инструмент импорта/экспорта не встроен в панель инструментов, и вам по-прежнему не разрешено устанавливать или изменять объектные объекты существующих объектов. Тем не менее, вы можете импортировать данные .bson и .json с заданным полем _id, позволяя явно установить objectIds. Хотя эти объектные идентификаторы могут быть любыми значениями, настоятельно рекомендуется соответствовать схеме Parse-Server и гарантировать, что вы не создаете дублирующие идентификаторы.

+0

О, да, я бы хотел знать это раньше! Мы уже сделали обновление, которое разрешает эту проблему, но это именно то, что я искал. Спасибо за головы! Я уверен, что буду использовать это в будущем. –

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