我的实时数据库中有以下JSON树:
{
"old_characters" :
{
"Reptile" : {
"kick" : 20,
"punch" : 15
},
"Scorpion" : {
"kick" : 15,
"punch" : 10
},
"Sub-zero" : {
"kick" : 30,
"punch" : 10
}
},
"new_characters" : {
//...ect
}
}
是否可以在firebase控制台中设置规则,以便我可以根据具有最高kick值的角色对数据进行索引?
约束是:
-character_name
是动态的。
-Key
“踢”是静态的,但其value
是动态的。
结果应为:
答案 0 :(得分:1)
您想要的似乎是一个对kick
属性的相当简单的Firebase查询:
var ref = firebase.dababase().ref('old_characters');
var query = ref.orderByChild('kick');
query.once(function(snapshot) {
snapshot.forEach(function(characterSnapshot) {
console.log(characterSnapshot.key);
console.log(characterSnapshot.child('kick').val());
});
});
您会注意到,这会按升序打印结果。您可以:
-1 * score
的反向属性,然后对该字符进行排序要了解有关反转/排序降序的更多信息,请查看以下一些先前的问题: