1
我想從Firebase數據庫中刪除Room2
節點。我有這樣的數據庫結構:無法從Android中的Firebase中刪除節點
db-24f7f
|
- Hotel
|
-Room1
|
beds:"2"
Chairs: "6"
-Room2
|
beds:"3"
Chairs: "8"
我嘗試作爲
database = FirebaseDatabase.getInstance();
myRef = database.getReference();
database.getReference("Hotel").orderByChild("Chairs").equalTo("8").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
dataSnapshot.getRef().setValue(null);
}
即刪除整個數據庫。然後我試圖爲
database = FirebaseDatabase.getInstance();
myRef = database.getReference();
database.getReference("Hotel").orderByChild("Chairs").equalTo("8").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds:dataSnapshot.getChildren()){
ds.getRef().removeValue();
}
}
,找到這個:
12月12日至28日:31:21.813 22950-22950/PKGName_o E/ViewRootImpl:sendUserActionEvent()MView的== NULL 12月12日至28日:31:21.813 22950-22950/PKGName_o E/ViewRootImpl:sendUserActionEvent()mView == null W/PersistentConnection:pc_0 - 使用未指定的索引。考慮在酒店添加''.indexOn':'Chairs''到您的安全和Firebase數據庫規則以獲得更好的性能
此後,節點不會從Firebase中刪除。爲什麼無法刪除節點?
你的第二個代碼很好,它應該已經工作。 logcat只顯示警告,firebase sdk建議您將該索引選項添加到Firebase數據庫規則中。如果您不添加該規則,您的代碼將起作用。 我已經嘗試使用相同的數據庫和房間2預期刪除您的代碼。 – Wilik