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 如果第一个条件 相同 则按第二个条件排序