使用Firebase规则根据孩子的孩子的值为节点编制索引
是否有可能使用Firebase规则根据那里的表决数索引所有表决子项,因此我可以返回表决的前10个节点,它们将具有最高的表决数。为了避免耗时的查询。
数据的结构如下。
{
"votes": {
"LXlcgMyGG16N9HdR4HD":{
"vote_count": 2,
"uid1": true,
"uid2": true
}
"LXlix7BiJ3D9ZFd4sS5":{
"vote_count": 3,
"uid1": true,
"uid2": true,
"uid3": true
}
}
}
答案 0 :(得分:0)
假设使用此JSON:
{
"votes": {
"LXlcgMyGG16N9HdR4HD":{
"vote_count":2,
"uid": true,
"uid2": true
}
"LXlix7BiJ3D9ZFd4sS5":{
"vote_count": 3,
"uid": true,
"uid2": true,
"uid3": true
}
}
}
您可以使用以下方法获得投票数最高的10个节点:
firebase.database().ref("votes").orderByChild("vote_count").limitToLast(10)
但是要注意一些事情:
vote_counts
的第二个顶级节点。另请参阅Firebase documentation on ordering and filtering results。