gpt4 book ai didi

java - 如何在 Firebase 中删除其他用户数据

转载 作者:行者123 更新时间:2023-12-02 02:17:26 25 4
gpt4 key购买 nike

我正在制作一个应用程序,它将数据保存在两个不同的用户(A 和 B)数据库中。我只需要用户A删除用户B数据库数据的代码。我使用 Firebase 作为数据库。

我有一个代码,但这不起作用:

        DatabaseReference driverRef = FirebaseDatabase.getInstance().getReference().child("Volunteer");
driverRef.orderByKey().equalTo(userId).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {

for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {

String key = postsnapshot.getKey();
DatabaseReference driverRef = FirebaseDatabase.getInstance().getReference().child("Volunteer").child(key).child("requests").child("customerRideId");
driverRef.removeValue();


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

最佳答案

您需要从数据库中检索对方的userid,以便用户 A 能够删除用户 B 的数据。

如果你有这个:

User
useruidA
name: userA
email: userA@gmail.com
useruidB
name: userB
email: userB@gmail.com

当您检索 userB 的名称时,也检索他的 id,以便能够将其删除。

或者您可以这样做:

 DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("Users");
data.orderByChild("name").equalTo(userB).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
data.getRef().removeValue();

}

}

这样,您就不需要他的id,只需要名字。

关于java - 如何在 Firebase 中删除其他用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49098534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com