我遇到了如何从firebase检索推送数据的问题。我已经设置了身份验证,我有两个用户推送了一些数据:
{
"deck" : {
"-JkpwAnieKjQVsdtPD4m" : {
"deckName" : "Deck 1",
"color" : "Red",
"user" : "simplelogin:1"
},
"-Jkq4unexm-qwhO_U2YO" : {
"deckName" : "Deck 2",
"color" : "Blue",
"user" : "simplelogin:1"
},
"-Jkq5-II1q5yM6w3ytmG" : {
"deckName" : "Deck 3",
"color" : "Green",
"user" : "simplelogin:6"
}
}
}
然后我跑:
deckRef.once('value', function(dataSnapshot) {
console.log(dataSnapshot.val());
});
返回由push()生成的键推送的3。
似乎有一种方法可以让firebase检索由" simplelogin:1"生成的所有颜色条目。 (所以红色和蓝色),但我无法弄清楚。
答案 0 :(得分:1)
您可能正在寻找Firebase的查询,您可以:
deckRef.orderByChild('user').equalTo('simplelogin:1').on(...
不要忘记将user
添加到安全规则中的.indexOn
。
请参阅:
答案 1 :(得分:0)
像这样查询您的数据
elapsedTime
注意:deckRef.orderByKey().once('child_added', function(dataSnapshot) {
console.log(dataSnapshot.val());
});
适用于orderByKey()
eventType