java - 如何在 Firebase 中订购 'subdata'?

标签 java android firebase firebase-realtime-database

我有一个具有以下结构的 Firebase 数据集:

 coloursets
  - default
    - key
    - name
    - colours
      - black
        - key
        - name
        - hex code
        - order
      - white
        - key
        - name
        - hex code
        - order

“订单”只是一个数字。当我从数据库中检索它时,我希望能够按“顺序”字段指定的特定顺序获取颜色。例如,要先黑后白,我会给“黑”顺序“1”,给“白”顺序“2”。

如何使用它按顺序检索数据?或者有更好的方法吗?

我目前正在使用它来检索它:

DatabaseReference mColourSetReference = FirebaseDatabase.getInstance().getReference()
                    .child("coloursets").child(this.key);
mColourSetReference.addListenerForSingleValueEvent(listener);

但是无法指定检索颜色的顺序。它似乎默认是相反的顺序,所以目前它先变白,然后变黑。

我更习惯 MySQL,所以无法理解这个问题,而且我在文档中找不到任何内容。

编辑

这是数据库相关部分的屏幕截图:

enter image description here

最佳答案

要订购,请尝试以下操作:

DatabaseReference mColourSetReference = FirebaseDatabase.getInstance().getReference()
            .child("coloursets").child("colours");
Query queries=mColourSetReference.orderByChild("order");

public Query orderByChild (String path)

Create a query in which child nodes are ordered by the values of the specified path.

更多信息在这里: https://firebase.google.com/docs/reference/android/com/google/firebase/database/Query.html#orderByChild(java.lang.String)

关于java - 如何在 Firebase 中订购 'subdata'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49883884/

相关文章:

java - 有什么方法可以将一个条目添加到具有来自 int 变量的自定义位置的 Java 数组列表中吗?

java - 如何更改 JTabbedPane 中的选项卡位置?

android - 首次安装后 appsflyer 未调用 onAppOpenAttribution

Android Firebase 分析不工作

java - 正则表达式提取值

java - 实现多页面 GWT 网站

java - Android 通过 USB 传输文件

android - 单击列表中的项目时如何使用选择器

javascript - Firebase 函数不起作用 - 插入值时如何写入值

real-time - 用于报告/仪表板的实时后端平台?