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

标签 java android firebase firebase-realtime-database

我正在制作一个应用程序,它将数据保存在两个不同的用户(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/

相关文章:

java - 在这种情况下保存响应集的更好方法是什么?

java - ajax调用后将响应重定向到另一个jsp

java - 使用 Java SAX 解析 XML 文档时出现问题

android - 检查按钮是否被点击

android - Retrofit 多部分请求是否可以暂停和恢复?

java - 安卓 : Bitmaps transmitted as String causing out of memory errors

java、安卓和蓝牙

javascript - 如何防止同一用户使用 Firebase 同时登录?

javascript - 如何在正确的范围内做出 Promise,以便它具有要查询的正确值并返回?

swift - Firebase 更新 : Initializer for conditional binding must have Optional type, 而不是 'String'