2017-02-02 5 views
1

Back4Appでオブジェクトのフィールドを削除しようとしていますが、このような単純な操作はできません。 "削除"とは、データが "未定義"のフィールドを設定することを意味します。 guideによると、myObject.remove("field")に電話するだけです。私はそれを(正しいフィールド名で)試してから、オブジェクトを保存しました(利用可能なすべての保存関数を試しました)が、オブジェクトは変更されていません。スローされたエラーはありません。ParseObject.removeがBack4Appで動作しません

私はフィールドフィールドを変更することができます(put ("field", otherObject)、これはポインタフィールドなので問題はありません)。しかし、put("field", JSONObject.NULL)も動作していません。

このコードが元の解析で機能するかどうかはわかりませんが、今私はこれをコーディングしています。同じデータベース内のiOSで同等の機能([myObject removeObjectForKey:@"field"];)がうまく働いている...

+0

これを試してください:myObject.delete(); myObject.saveInBackground(); –

+0

@ramKotiはオブジェクトを削除するためのものであり、オブジェクトのフィールドではありません。 – ElYeante

+0

ログインしたユーザーがオブジェクトを保存する権限を持っていますか? – EReid

答えて

0

私はあなたの質問から集めることができるものについては、問題は、あなたがリレーショナルオブジェクトからフィールドをきれいにしようとしているということです。

その場合には

「(「それはポインタフィールドが あるので、otherObject)フィールド単純なオブジェクトを使用している場合

私は本当にわからないんだけど、PUT(で)」私は、フィールドを変更することができます」削除が機能します。リレーショナルデータのParse's documentationを参照して、そのフィールドを削除する方法を理解することをお勧めします。

かいつまんで、私はあなたが希望する場を清掃するというアイデアがうまくいくかどうかわからないんだけど、あなたがこのような関係を持っているときに行うことができます。

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

は、単に削除することですこのような関係は:

上記のリンクで確認できます。

関連する問題