首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >利用where条件建立消防基地实时数据库

利用where条件建立消防基地实时数据库
EN

Stack Overflow用户
提问于 2019-04-11 13:57:53
回答 1查看 1.4K关注 0票数 1

我正在尝试使用where条件从Firebase实时数据库中获取数据.我想得到所有的数据基于一个特定的关键字。请在下面介绍我的JSON数据。

我想获取一个公司等于Balaji种子的数据。我想打印发音,proid。

我试过下面的代码。

代码语言:javascript
运行
复制
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference mDatabaseReference = database.getReference();
    Query query = mDatabaseReference.child("Products").orderByChild("company").equalTo("Balaji Seeds");


        query.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String previousChildKey) {
                Map<String, Object> newPost = (Map<String, Object>) dataSnapshot.getValue();

                Toast.makeText(CompanyCategoryList.this, "ProName: "+newPost.get("proname"),Toast.LENGTH_LONG).show();


            }

            @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) {

            }


        });

我希望你能理解我的关心。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-04-11 14:06:27

Firebase实时数据库查询对子节点列表进行操作。您的数据结构嵌套得很深,这使得查询变得更加困难。

在当前的数据模型中,您可以在/Products/Vegetable_Seeds/Chili上运行一个查询,然后获取company等于Balaji Seeds的子节点。但是,数据模型不允许在所有Products中查询该节点。

如果要允许此查询,则必须将当前模型更改为平面列表,或者添加一个额外的数据结构,以保留公司产品查找所需的数据。

另见:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55634290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档