prosource

파이어베이스 실시간 데이터베이스에서 삭제하는 방법은 무엇입니까?

probook 2023. 7. 7. 19:06
반응형

파이어베이스 실시간 데이터베이스에서 삭제하는 방법은 무엇입니까?

안드로이드 앱에서 Firebase 실시간 데이터베이스를 사용하고 있으며 다음과 같은 데이터가 있습니다.

(사진에 표시된) "Apple" 레코드를 삭제하려면 어떻게 해야 합니까?

문서에 따르면 참조에서 removeValue()라고 하는 항목을 제거합니다.하지만 참고 자료를 얻기 위해서는 어린이 신분증이 필요합니다.임의로 생성된 ID(-KISx87aYigSH3)이기 때문입니다.ILP0D), 삭제 방법은 무엇입니까?

제거할 항목의 키를 모르는 경우 먼저 데이터베이스를 쿼리하여 해당 키를 확인해야 합니다.

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
Query applesQuery = ref.child("firebase-test").orderByChild("title").equalTo("Apple");

applesQuery.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot appleSnapshot: dataSnapshot.getChildren()) {
            appleSnapshot.getRef().removeValue();
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.e(TAG, "onCancelled", databaseError.toException());
    }
});

이것은 나의 문제를 해결했습니다.

 mPostReference = FirebaseDatabase.getInstance().getReference()
                        .child("quotes").child(mPostKey);
                mPostReference.removeValue();

firebase-admin을 사용하는 경우 다음과 같이 간단히 테스트할 수 있습니다.

admin.ref(`/users/${userid}`).remove()

그건 저한테 효과가 있어요

그리고 또한 사용하는 것을 기억하세요.async그리고.await통사론

다음 코드를 사용할 수 있습니다.

onDeletePost(id:string){
return this.http.delete(`https://my-angular8-prjt.firebaseio.com/posts/${id}.json`).subscribe();
}

데이터를 삭제하는 방법과 이유에 따라 다음을 사용할 수 있습니다.

// Could store the push key or get it after push
String newPostKey = yourDatabase.child('firebase-test').push({
    something:something
}).key();

// Depends how you get to here
howYouGotHereId.parent().setValue(null);

Firebase 데이터 저장 3.0

이미지가 삭제할 Firebase 데이터베이스의 디렉토리라고 가정합니다.

private static DatabaseReference mDatabase;
public static void clearData(){
    mDatabase = FirebaseDatabase.getInstance().getReference();
    mDatabase.child("images").setValue(null);
}

여기서 이미지는 데이터베이스의 상위 디렉토리입니다.나머지 데이터를 보존할 수 있도록 이미지 디렉토리 내의 중첩된 디렉토리(DCIM)를 지우려는 경우.

그 시나리오에서 당신은 이렇게 할 수 있습니다.

mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("images").child("DCIM").setValue(null);

쿼리에 대한 응답으로 null 값이 있는 setValue 메서드를 사용해 보십시오.setValue(null)파이어베이스 데이터베이스에서 데이터를 삭제합니다.

그러나 파이썬을 사용하는 Firebase 관리자의 경우:

import firebase_admin
from firebase_admin import credentials
from firebase_admin import db
cred = credentials.Certificate("<your certificate>.json")
firebase_admin.initialize_app(cred, {'databaseURL': 'https://<your db>.firebaseio.com/'})

snapshot = db.reference('firebase-test').get()
for k,v in snapshot.items():
    if v['title'] == "Apple":
        db.reference('firebase-test').child(k).delete()

언급URL : https://stackoverflow.com/questions/37390864/how-to-delete-from-firebase-realtime-database

반응형