2014-10-30 21 views
12

Tôi đang khám phá các chức năng của Firebase, tôi gặp sự cố về cách xóa các nút hoặc mục nhập khỏi firebase bằng mã java? Tôi đã tìm kiếm API của họ .. phiên bản web không cung cấp chức năng remove(), nhưng java thì không?Cách xóa mục nhập khỏi Firebase

Trả lời

25

Có một phương pháp removeValue() trên đối tượng Firebase:

Documentation

Thiết lập giá trị của một vị trí để null về cơ bản loại bỏ nút từ cấu trúc.

+0

nulling một giá trị đi kèm trong rất tiện dụng để đảm bảo nhiều xóa trên những con đường khác nhau do denormalizing DB của bạn. – TheFuquan

4

Mặc dù câu trả lời @jsfrocha hoàn toàn chính xác nhưng điều quan trọng cần lưu ý là nếu bạn đang sử dụng giao dịch, đây là phương pháp hay khi bạn xóa dữ liệu, bạn truy cập dữ liệu qua đối tượng MutableData trong trường hợp bạn không ' t có phương pháp removeValue(...) vì vậy bạn nên sử dụng setValue(null) để thay thế.

Đây là một snipped ...

firebase.child(path).runTransaction(new Transaction.Handler() { 
    public Transaction.Result doTransaction(MutableData mutableData) { 
     mutableData.setValue(null); // This removes the node. 
     return Transaction.success(mutableData); 
    } 
    public void onComplete(FirebaseError error, boolean b, DataSnapshot data) { 
     // Handle completion 
    } 
}); 
Các vấn đề liên quan