0
を使用して取得:特定の子のすべての子どもたちがかつて次のように私はfirebaseデータベースを持っているFirebaseウェブ
私はランダムな文を選択する必要があります。私は乱数に基づいて呼び出すことができるように、firebase 'プッシュ'キー(他のSOの回答に基づいて)に基づいてランダムなレコードを選択するのが難しいため、私は数字キー "n:1"などを作成しました。
function getStatement() {
var ref= firebase.database().ref('/totNumState/');
ref.once('value').then(function(snapshot) {
var max = (snapshot.val());
var randomIndex = Math.floor(Math.random() * max) + 1;
var rootRef = firebase.database().ref();
rootRef.orderByChild('data').equalTo('n:'+randomIndex).once("value")
.then(function(snapshot) {
console.log(snapshot.val());
});
}, function(error){console.error(error)});
}
問題:私の検索では「null」という応答が表示されています。 メイン質問:firebase webで特定の子供の子供をすべて取得するにはどうすればいいですか? 二次質問(関連):私が検索したいレコードを正確に知っていると、Firebaseはなぜ(私のリソースが飢えている) 'orderByChild'を使うのですか?答えを探して他の人のために
おかげ
'data'という名前の子ノードを複数持っていますか?これはコードが現在探しているものだからです。あなたが望む特定のノードを知っているなら 'orderByChild()'を使う必要はなく、 'firebase.database.ref( 'data/n:' + randomIndex)'のように直接参照するだけです。 –
Jenに感謝します。 + orderByChild()を使用する必要がないことを知るのに便利です。 – user2206361