2016-05-23 18 views
16

私は、AndroidアプリでFirebaseリアルタイムデータベースを使用して、このようなデータを持っています: enter image description herefirebaseリアルタイムデータベースからの削除方法は?

どのように私はレコードを削除することができます(写真でマーク)、「アップル」

ドキュメントによると、アイテムを削除するには、removeValue()を参照してください。しかし参照を取得するには、私は子供が必要id。ランダムに生成されたID(-KISNx87aYigsH3ILp0D)は、どのように削除するのですか?あなたはこれらを使用することができますどのように、なぜあなたはデータを削除するに応じて、

+0

お寄せいただきありがとうございます。#Amit&@Frank van Puffelen –

答えて

33

削除する項目のキーがわからない場合、あなたが最初にする必要があります私は、回答セクションに置くための

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
Query applesQuery = ref.child("firebase-test").orderByChild("title").equalTo("Apple"); 

applesQuery.addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for (DataSnapshot appleSnapshot: dataSnapshot.getChildren()) { 
      appleSnapshot.getRef().removeValue(); 
     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     Log.e(TAG, "onCancelled", databaseError.toException()); 
    } 
}); 
+1

ありがとうございました。これはまさに私が探していたものです。 –

+0

なぜ私は 'DatabaseReference'を見つけることができません? –

+0

"Apple"というタイトルのノードが複数ある場合はどうなりますか? –

1

// Could store the push key or get it after push 
String newPostKey = yourDatabase.child('firebase-test').push({ 
    something:something 
}).key(); 

// Depends how you get to here 
howYouGotHereId.parent().setValue(null); 

Firebase Save Data 3.0

-1

申し訳ありませんが、しかし、私は[-KISNx87aYigsH3ILp0D]例えば、同様の質問、どのような場合があります。これらのキーを決定するためにデータベースを照会しますデータベースのノードでfirebase-testの子ではなく、削除したいのですが、現在は "apple"のためにどうすればいいのですか?子ノード名がわからないので、それは動的に作成されますが、私はデータベースからいくつかの特定のエントリを削除したいと思います。

+0

これは質問に対する答えを提供しません。 [類似の質問を検索する](// stackoverflow.com/search)、またはページの右側にある関連するリンクされた質問を参照して回答を見つけることができます。関連しているが異なる質問がある場合は、[新しい質問をする](// stackoverflow.com/questions/ask)、コンテキストの提供に役立つこのリンクを追加してください。参照:[質問する、回答を得る、気を散らす](// stackoverflow.com/tour) – FelixSFD

関連する問題