如何删除Firebase中的特定子项(Android)

时间:2016-09-18 02:30:41

标签: android firebase firebase-realtime-database

而不是将数据设置为 null的子项中的Driver ..我希望删除特定的child

这是我的示例代码。

driverRef = new Firebase(Config.FIREBASE_URL_DRIVER);
                    Query pendingBus = driverRef.orderByChild("busNum").equalTo(busNum);
                    pendingBus.addListenerForSingleValueEvent(new ValueEventListener() {
                        @Override
                        public void onDataChange(DataSnapshot dataSnapshot) {
                            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                                String busnumber = snapshot.child("busNum").getValue().toString();
                                String empID = snapshot.child("empId").getValue().toString();

                                if (busnumber.equals(busNum)) {

                                    snapshot.getRef().child("age").setValue("");
                                    snapshot.getRef().child("busNum").setValue("");
                                    snapshot.getRef().child("driversName").setValue("");
                                    snapshot.getRef().child("empId").setValue("");
                                    snapshot.getRef().child("latitude").setValue("");
                                    snapshot.getRef().child("longitude").setValue("");
                                    snapshot.getRef().child("password").setValue("");
                                    snapshot.getRef().child("username").setValue("");
}
}

这是该方法setValue的输出 Output

2 个答案:

答案 0 :(得分:3)

而不是使用setValuenull 我用.removeValue 示例:snapshot.getRef().child("age").removeValue();

答案 1 :(得分:0)

这对我有用

databaseReference = databaseReference.child("Users").child(mobile);
databaseReference.setValue(null);