java - 从 Firebase 数据库中删除特定值

标签 java android firebase firebase-realtime-database

我已经关注了this .但不幸的是,当我删除一个与另一个具有相同值的数据时,它也会被删除。我只想删除单个数据。

这是我的数据库结构。 Here is my database .

我只想删除一个值。

Query query = databaseReference.orderByChild("address").equalTo(tvPatientAddress.getText().toString());

                        query.addChildEventListener(new ChildEventListener() {
                            @Override
                            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                                dataSnapshot.getRef().setValue(null);
                            }

                            @Override
                            public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                            }

                            @Override
                            public void onChildRemoved(DataSnapshot dataSnapshot) {

                            }

                            @Override
                            public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                            }

                            @Override
                            public void onCancelled(DatabaseError databaseError) {

                            }
                        });

我有这个代码

你们有什么想法吗?我认为最好的方法是获取患者的 ID 并删除该数据,因为 ID 是唯一的。感谢您的帮助!

最佳答案

首先,获取要删除的特定值,然后将其删除。

如果您不知道该对象的键,则必须查询以从DataSnapshot 中获取对象键。这可以通过使用getKey() 方法(例如 postsnapshot.getKey())

或者,查看我的 Firebase Helper Classes Firebase Helper Class Tutorial

mdatabaseReference.child("users").orderByKey().equalTo(uid).addListenerForSingleValueEvent(new ValueEventListener() {
  @Override
  public void onDataChange(DataSnapshot dataSnapshot) {

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

    String key = postsnapshot.getKey();
    dataSnapshot.getRef().removeValue();

 }

关于java - 从 Firebase 数据库中删除特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763346/

相关文章:

android - 当应用程序处于后台时如何在android中获取推送通知?

android - 内存分析器 (MAT) 插件未在 MAT Eclipse 4.1.2 中自动打开堆教授

Firebase 部署错误 - 找不到模块 'firebase'

java - 如何使 Itext 接受具有如下序列的 unicode

java - File.canWrite 和 Files.isWritable 在 Linux 上没有给出正确的值

java - postgres 上的错误转换连接

javascript - Cordova 电子邮件编辑器不适用于 Android

firebase - Firestore 文档获取请求 promise 未解决。我该如何解决这个问题?

javascript - 如何等待 $firebaseArray 数据

java - android studio 每 X 秒自动刷新线程中的数据 json url