2017-02-02 4 views
1

Я пытаюсь удалить поле объекта в Back4App, но я не могу добиться такой простой операции. При «удалении» я имею в виду задание поля, которое имеет данные «undefined». Согласно guide, мне просто нужно позвонить myObject.remove("field"). Я попробовал это (с правильным именем поля), затем сохранил объект (я попробовал все доступные функции сохранения), но объект не модифицирован. Ошибка не возникает.ParseObject.remove не работает в Back4App

Я могу изменить поле (с put ("field", otherObject), потому что это поле указателя) без проблем. Но put("field", JSONObject.NULL) тоже не работает.

Я не знаю, будет ли этот код работать в оригинальном Parse, я кодирую это сейчас. Эквивалентная функция прошивкой ([myObject removeObjectForKey:@"field"];) в той же базе данных работает хорошо ...

+0

попробуйте следующее: myObject.delete(); myObject.saveInBackground(); –

+0

@ramKoti, который предназначен для удаления объекта, а не поля объекта. – ElYeante

+0

Вы уверены, что вошедший пользователь имеет разрешение на сохранение объекта? – EReid

ответ

0

За то, что я мог собрать из вашего вопроса, проблема заключается в том, что вы пытаетесь очистить поле от реляционную объекта:

«Я могу изменить поле (с пут (» поле «otherObject), потому что это поле указатель)»

в этом случае, я не совсем уверен, если с помощью простого объекта удаление будет работать. Я бы посоветовал вам взглянуть на Parse's documentation на реляционные данные, чтобы понять, как вы должны удалить это поле.

Короче говоря, я не уверен, что если идея очистки поля, которые вы хотите работать, но то, что может быть сделано, если у вас есть отношения, как это:

ParseUser user = ParseUser.getCurrentUser(); 
ParseRelation<ParseObject> relation = user.getRelation("field"); 
relation.add(MyObject); 
user.saveInBackground(); 

Является ли просто удалить отношение следующим образом:

relation.remove(MyObject); 

Как вы можете проверить ссылку выше.

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