我目前正在研究嚴格使用Firebase作爲後端的應用。在我的應用程序中,我想刪除30條消息後寫入的第一條消息。換句話說,我想只允許存儲30條消息。在我的firebase數據庫中,我有一個名爲「users」的節點,然後是用戶ID的節點,然後在其中一個用戶ID下,我有另一個名爲items的節點。但是,我想要刪除項目節點下的第一個子項,但我不知道該子項的名稱,因爲我正在使用.push()方法來設置它們的鍵。有人知道如何刪除第一個孩子嗎?使用Firebase中的推式()鍵刪除第一個孩子
我知道如何刪除Firebase中的一個孩子,我只是不知道如何訪問那個孩子。我試着沿着線的東西:
DatabaseReference firstMessage = mDatabase.child("users").child(mUserId).child("items").getRef();
然後做刪除的孩子。
firstMessage.removeValue();
我的.child之後知道(「項目」)應該有一個額外的孩子,但我怎麼拿到鑰匙?
編輯:我想出了一個解決方案,但是,而不是刪除第一個孩子中的項目節點,它刪除了第一個孩子在用戶節點
DatabaseReference firstMessage = mDatabase.child("users").child(mUserId).child("items").orderByPriority().limitToFirst(1).getRef();
最簡單的解決方案可能是將要使用雲功能的火力地堡寫一個數據庫觸發器決定,每個項目將被添加,是否應該在響應中刪除舊項目。 –