orderByChild() 如果值相同,如何按第二个变量排序?

Posted

技术标签:

【中文标题】orderByChild() 如果值相同,如何按第二个变量排序?【英文标题】:orderByChild() if same value, how to order by second variable? 【发布时间】: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 )). 【参考方案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"),应用崩溃了。

以上是关于orderByChild() 如果值相同,如何按第二个变量排序?的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL先按第一个字段排序,若相同再按第二个字段排序,如何实现?

python 排序 sorted 如果第一个条件 相同 则按第二个条件排序

如何格式化行以按第 1 列中的类似值进行颜色分组

如何读取 CSV 并生成 json/avro 文件,其中 pig 按第一列的值分组?

orderByChild 在 Firebase 中不起作用

graphql,如何按第一个节点名称过滤?