この質問には1,000件の回答があることが分かりますが、それは部分的には私がそれを働かせることができないという事実によって混乱しています。Firebase(Web)がorderByChildを動かすことができない
orderByChildクエリ/フィルタを機能させることができません。私はそれを説明すること、オンラインで少なくとも25のチュートリアル、ガイド、および記事で見てきたし、それらはすべて私がやっている正確に何をすると言っているようだ:
var dbRef = firebase.database().ref();
var filterExperience = dbRef.child("Users").orderByChild('trade_general').equalTo('Construction');
filterExperience.on('child_added', snap => {
// Just trying to figure out if anything's even happening
console.log("Test" + snap.val());
// Set Card ID
$('#cand-card').attr('id', 'cand-card' + snap.key);
// Set Name
$('#fullname').attr('id', 'fullname' + snap.key);
$('#fullname' + snap.key).text(snap.child("Personal").child("first_name").val() + " " + snap.child("Personal").child("last_name").val());
// And so on...
そして、記録のために、firebaseはすべてのセットです。適切にアップ。 HTMLページの一番下にスニペットがあり、問題なしでレコードを読み書きしています。
私のデータベースは次のようになります。
Users
|
|--KYQ0L5TStcZM1rgVpte
|
|-Account
|-Availability
|-Education
|-Location
|-Work_History
|
|-Recent_Job_1
|
|-employer_name: "abc company"
|-job_position: "concrete finisher"
|-trade_general: "Construction"
私は取得していた結果ではありません:絶対に何も。私が 'スナップ'の直後に実行するテストのコンソールの中には何もありません。ページ上には何もありません。
JSONには「trade_general」という名前のプロパティはありません。 –
私の悪いです。それはFirebaseにあり、ここでそれをコピーするのを忘れてしまった。私は数値的なstartAtとendAtを使ってクエリを取得するために長い間試していましたが、それをあきらめて(もっと見かけ上)簡単に作業できるかどうかを確認しました。 equalToのように。だから、 "job_years"は私の頭の中でこの質問の関連情報として詰まっていました。 –