2020년 6월 27일 토요일

[Android] firebase database 데이터 삭제 방법

firebase Database 데이터 삭제


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Query query =databaseReference.child("message").orderByChild("userName").equalTo(editTextName.getText().toString());
                query.addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        for(DataSnapshot ds:dataSnapshot.getChildren()){
                      Log.d("getKey",ds.getRef().toString());
                            ds.getRef().removeValue();
                            //Toast.makeText(MainActivity.this, dataSnapshot.getKey().toString(), Toast.LENGTH_SHORT).show();
                        }

                    }
                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
                    }
                });
cs




equalTo를 이용하여 userName값이 "temp"인지 확인합니다.
snapshot은 말 그대로 한 순간이죠. 여기엔 쿼리(위에서 언급한 equalTo..)에 맞는 특정 데이터 값이 들어있습니다. 
꼭 dataSnapshot.getChildren() 를 하고서 참조로 접근해야 합니다.
그냥 참조로 냅다 접근해서 삭제하면 Tree 방식으로 이루어져 있기 때문에 전부 삭제될 수 있습니다.

댓글 없음

댓글 쓰기

© 특히하고 특별한
Maira Gall