【问题标题】:orderByChild() if same value, how to order by second variable?orderByChild() 如果值相同,如何按第二个变量排序?
【发布时间】:2021-01-18 08:37:25
【问题描述】:

我使用按年龄排序的列表。当年龄相同时,我希望它按姓名字母顺序排序。

在这种情况下,亚当应该在上面,拉姆齐应该在下面。

我不知道如何将 orderByChild() 用于第二个变量。

val database = FirebaseDatabase.getInstance().getReference("Classmate").child("student").orderByChild("age")

// orderByChild("name") // for second order

【问题讨论】:

  • 如果没有按多个字段对项目进行排序的选项,您可以在结果交付后使用 kotlin 集合的排序功能来执行此操作。 list.sortedWith(compareBy({ it.age }, { it.name })).

标签: java android firebase kotlin firebase-realtime-database


【解决方案1】:

仅使用 .orderBy("atribute") 时,您可以链接多个以在最后一个订单中对结果进行排序。例如:.orderBy("age").orderBy("name")

val database = FirebaseDatabase.getInstance().getReference("Classmate").child("student").orderByChild("age").orderBy("name")

我没有将它与 orderByChild() 一起使用,但我想它会以相同的方式工作。

【讨论】:

  • Android Studio 查询中没有 orderBy() 函数。我试过orderByChild("age").orderByChild("name"),应用崩溃了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2017-06-17
  • 2022-02-12
  • 1970-01-01
相关资源
最近更新 更多