gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:54 24 4
gpt4 key购买 nike

我已经关注了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/

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