android - 如何在 2 个随机键下检索子数据
解决方案
您的数据库结构不支持orderByChild()
顶级节点。因此,您必须将数据库引用设置为节点food
,然后您可以使用orderByChild()
查询来查找具有某些stallID
.
这在代码中看起来像这样:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Requests").child("1542..").child("foods");
ref.orderByChild("stallID").equalTo(stallIDYouWant).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()){
// do here what you wanted
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
// ToDo: don't ignore this, do something for errors
}
)};
这实际上对您没有多大帮助,因为您必须为数据库结构中的每个唯一 ID 设置它。
所以在这里做的更好的事情是让你的数据库结构不同。要了解更多如何使您的结构适合此操作,请参阅此答案。
推荐阅读
- spring-boot - 如何自动转义百里香路径变量中的特殊字符?
- javascript - 无法 POST /api/auth/login%0A posman 错误
- amazon-web-services - Cognito 用户组可以用于无服务器应用程序中的动态组吗?
- angular - Angular,DragnDrop 问题,本地存储
- json - 在 GO 中反序列化一个非标准的 json
- javascript - 带有 useContext 的 UseState 不会触发重新渲染
- java - 在多个对象数组中捕获特定对象
- php - 尝试使用文本框上传多个文件,但在提交时,表单名称、日期文本没有价值
- python - 尝试将 Json 输出存储为变量以传递给字典
- go - 如何从 Go 中的 nslookup 获取“名称”?