我有如下的Firebase节点结构。
categories
category1
timestamps
23c491sdfwrasddgasd: true
asdf8234dfjalskdask: true
39fsdizxcasfgbskdf7: true
2asqwizxov340bs9fms: true
category2
timestamps
p23491sdfwrasddgasd: true
asdfpovaskdrfskdask: true
category3
timestamps
vmk339ffk3rasddgasd: true
asdf8234dfjalskdvml: true
bnwdwizxcasfgbskdf7: true
时间戳键是由push()
生成的键。我需要按照他们拥有的最早的时间戳键对类别进行排序。只有时间戳节点中最旧的时间戳才会计数。
基本上我需要在第一次修改类别时对类别进行排序。
欢迎任何帮助,包括重新设计节点的提示。
答案 0 :(得分:1)
类别
category1
oldest_timestamp: 2asqwizxov340bs9fms
timestamps
23c491sdfwrasddgasd: true
asdf8234dfjalskdask: true
39fsdizxcasfgbskdf7: true
2asqwizxov340bs9fms: true
category2
oldest_timestamp: asdfpovaskdrfskdask
timestamps
p23491sdfwrasddgasd: true
asdfpovaskdrfskdask: true
category3
oldest_timestamp: bnwdwizxcasfgbskdf7
timestamps
vmk339ffk3rasddgasd: true
asdf8234dfjalskdvml: true
bnwdwizxcasfgbskdf7: true
基本上你添加了一个名为" oldest_timestamp"的节点。现在,您可以使用查询轻松订购类别。
Query myquery = FirebaseDatabase.getInstance().getReference().child("categories").orderByChild("oldest_timestamp");
请勿忘记在Firebase数据库规则中对其进行索引,以获得更好的效果。