gpt4 book ai didi

android - orderByChild() 在 Firebase 数据库中不起作用

转载 作者:行者123 更新时间:2023-11-30 00:28:28 24 4
gpt4 key购买 nike

这是 firebase 数据结构。

Firebase datastructure

这里我想选择所有值为“stop”的节点并删除它们。我写了这段代码,但这不起作用。

final Map<String, Object> map = new HashMap<String, Object>();
Query numberQuery = reference.child("numbers").orderByChild("stop");
numberQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
for (DataSnapshot eachDataSnapShot : dataSnapshot.getChildren()) {
map.put("/numbers/"+eachDataSnapShot.getKey(), null);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {

}
});

reference.updateChildren(map);

实际上,我没有得到如何在 firebase 文档中使用查询。如果有任何其他方法(不使用查询)告诉我。

最佳答案

我找到了这个问题的答案,我在使用 orderByChild() 时遇到了一个问题,但我不得不在那里使用 orderByValue()。所以我只是将 orderByChild("stop") 更改为 orderByValue().equalTo("stop") 并且它起作用了。

Query numberQuery = reference.child("numbers").orderByValue().equalTo("stop");

numberQuery.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
for (DataSnapshot eachDataSnapShot : dataSnapshot.getChildren()) {
map.put("/numbers/"+eachDataSnapShot.getKey(), null);
}
reference.updateChildren(map);
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

关于android - orderByChild() 在 Firebase 数据库中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44931813/

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