2017-11-25 100 views
0

我有一個數據庫,如下圖所示:刪除特定值RecylerView在火力地堡數據庫

+ 訂單

+ uid(5mXErinXkQccgaoXWPeDtJZ8v852) 
      + push(randomkey1) 
        id: 
        date: 
        time: 
        price: 
        address: 
      + push(randomkey2) 
        .... 

      + push(randomkey3) 
        .... 
      + push(randomkey4) 
    + uid(6xrinn1BcngPjzCWZUa0sUbTEnK2) 
      + push(randomkey5) 
      + push(randomkey6) 

Orders節點,有一個孩子uid其中每個用戶存儲id。在uid子項下,每個用戶都可以執行的命令數量,這就是爲什麼我使用push()來生成隨機密鑰。

問題是,我該如何刪除例如`push(randomkey2)'?

FirebaseDatabase.getInstance().getReference("Orders").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).removeValue(); 
                      notifyItemRemoved(position); 

此代碼只刪除裏面uid

回答

0

你沒有指定的「UID」節點的孩子, 例如

FirebaseDatabase.getInstance().getReference("Orders") 
.child(FirebaseAuth.getInstance().getCurrentUser().getUid()) 
.child("randomkey2").removeValue(); 
+0

因爲它是隨機產生的具體uid而不是特定的值通過push()。如何知道在生成時推送的價值是多少?如果這確實是隨機密鑰,我可以做到這一點。但推不一樣 – Zoffa

+1

使用... push()。getKey(),這將返回生成的密鑰字符串 –