2016-09-26 5 views
0

Firebaseの特定の参照に保存されている値を削除しようとしています。ここで私はそれを保存している方法は次のとおりです。値がFirebaseから削除されない

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(MainActivity.uid); 

は、ここで私はそれを削除しようとしている方法は次のとおりです。

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).child(MainActivity.uid).removeValue(); 

itemIDFUは、このコードを使用してonCreate()で生成されています:

itemIDFU = mDatabase.child("users").child(uid).push().getKey(); 

問題それは正常に格納されているが、削除されていないということです。ここで何がうまくいかないの?私にお知らせください。

+0

受け取ったFirebase jsonを貼り付けてください。 –

+0

@AndresVasquezAgramont私が何をすべきかをもっと明確に教えてください。ありがとう。 –

+0

@ HammadNasir可能であれば、データを表示するデータベースコンソールに移動します。右上隅に3つの点が表示されます。それをクリックし、「JSONのエクスポート」を選択します。次に、作業しているデータエリアのスクリーンショットを撮ってください。このようにして、JSON形式が問題であるかどうかを確認できます(これはFirebaseを使用する際の一般的な問題です)。 – Ryan

答えて

1

あなたが値を設定するとき、あなたはMainActivity.uidしかし

であるどのような値に等しくなるようにキーitemIDFUを設定するようにあなたのデータを削除すると、あなたはitemIDFU子を取得しようとしているに見えますこれは存在しません。

あなたは子としてitemIDFUMainActivity.uidを追加しなかった、あなたは値としてこれを追加しました。

あなたが値を削除したい場合は、これを試してみてくださいが、空がitemIDFUキーを残して:あなたは完全に削除する場合

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(null); 

はこれを試してみてください

次の2つの可能な解決策を持っていますキーと値:

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).removeValue(); 

ここでは、データと問題:あなたはこれらの二つの方法で値を削除することができ

enter image description here

+1

あなたは正しいです...これは起こっていることです... –

+0

@HammadNasir良い、私はうまく働いている! Firebaseはとても有用なAPIです。私の個人的なお気に入り! – Ryan

+1

@HammadNasir問題の説明に追加するだけです。あなたが子供に値を設定すると、Bro。 **子どもとしては言及できません**。 firebaseはデータをキーと値のペアとして保存することを覚えておいてください。したがって、すべての子供は**キー**になり、そのキーの値は** vaueになります**。これを覚えておいて、後でこのようなエラーを避けることができます。 –

1

を説明するための

enter image description here

もう一つの絵:へ

//最初の方法値を削除する

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).setValue(null); 

//またはこの

mDatabase.child("users").child(uid).child("followersUID").child(itemIDFU).removeValue(); 

を試してみてください、私はあなたが子供の値ではなく、子供自身に.removeValueを()追加されているとして値が削除取得されていないと感じています。

+0

彼は実際にそれを呼び出そうとしている値が存在しない子にあるので、彼は実際にはどんな値でもremoveValue()を呼び出すことはありません。子 "MainActivity.uid"は存在しないため、値はありません。しかし、それ以下のものは、あなたの解決策(私と同じ)は問題を解決します。 – Ryan

+0

これは動作していないので、@ Ryanの答えです。 –

+0

@HammadNasirあなたはどちらの答えも機能していないと言っていますか? – Ryan

関連する問題