Firebase - 如何订购子数据'?

时间:2018-04-17 17:13:41

标签: android firebase firebase-realtime-database

我有一个Firebase数据集,其结构如下:

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

'订单'只是一个数字。当我从数据库中检索它时,我希望能够按照“订单”指定的特定顺序获取颜色。领域。例如,为了获得黑色然后是白色,我将给予黑色'订单' 1'和' white'订单' 2'。

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

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

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

但是无法指定检索颜色的顺序。它似乎默认为逆序,因此目前它首先变白,然后变黑。

我比较习惯MySQL,所以无法理解这一点,我在文档中找不到任何内容。谢谢!

编辑:这是数据库相关部分的屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:1)

要订购,请尝试以下方法:

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

public Query orderByChild (String path)

     

创建一个查询,其中子节点按指定路径的值排序。

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