Firebase データベースへのクエリが機能しない理由がわかりません。私はこれが初めてで、「簡単なチュートリアル」に従ってデータを読み取ることにしました。JSON オブジェクトの書き込みはうまくいきました。それを見てとてもうれしかったです。一方、読書は私を怒らせ始めます。私がやりたかった唯一のことは、電子メールアドレスがいくつかの電子メールアドレスに等しい1つの「レコード」を読み取ることでした。これらは、ユーザー データベース内で一意であり、一意である必要があります。ユーザーを取得したら、push(); で自動的に生成された値であるユーザーの UID を使用して、他のことを行うことができます。したがって、これはデモであり、現時点ではセキュリティについては気にしません。新しく作成された Firebase データベースのデフォルトの読み取りおよび書き込み動作が適用されます。誰でもどこからでも完全な読み書きアクセス。
これは、動作するかどうかを確認するためのデモ サイトのコードです。
<body>
<h1>retrieve data</h1>
<div id="aaa" style="margin:20px;padding:20px;border-radius:30px;background-color:#6666FF;float:left">USERADD</div>
<div style="clear:both"></div>
<pre id="rawdata"></pre>
</body>
これは機能したデモコードでした
var demofbdb = new Firebase("https://examples-sql-queries.firebaseio.com/user");
demofbdb
.startAt('anant@firebase.com')
.endAt('anant@firebase.com')
.once('value', function show(record) {
$('#rawdata').text(JSON.stringify(record.val(), null, 4));
});
これは私のコードですが、null を返し、理由がわかりません
var demofbdb = new Firebase("https://<my-firebase-database>.firebaseio.com/Users");
demofbdb
.startAt('demo.dedemoon@desatanisten.org')
.endAt('demo.dedemoon@desatanisten.org')
.once('value', function show(record) {
$('#rawdata').text(JSON.stringify(record.val(), null, 4));
});
これは /Users の構造です
"-JlyxV5xvQFLybevk9kD" : {
"AccountExpireDate" : "31/03/2016",
"AccountStartDate" : "01/04/2015",
"Alias" : "het hol van pluto",
"Attended" : {
"-JlyxMApRwcniJLXfqbU" : true
},
"Birthday" : "01/01/1970",
"E-Mail" : "demo.dedemoon@desatanisten.org",
"FirstName" : "Demo",
"LastName" : "De Demoon",
"MemberOf" : [ "-JlyxMqpRw5nrJLef9bU" ],
"OrganizationID" : "",
"Password" : "abc123!"
},
"-JlyxSJ8MciBNxguT415" : {
"AccountExpireDate" : "31/03/2016",
"AccountStartDate" : "01/04/2015",
"Alias" : "jos-het-debiele-ei",
"Attended" : {
"-JlyxMApRwcniJLXfqbU" : true
},
"Birthday" : "01/01/1970",
"E-Mail" : "jos.jossers@gmail.com",
"FirstName" : "Jos",
"LastName" : "Jossers",
"MemberOf" : [ "-JlyxMqpRw5nrJLef9bU" ],
"OrganizationID" : "",
"Password" : "abc123!"
}
この構造を明確にするために、「UID」はユーザーの直下にあります。UID が展開されると、詳細が表示されます。
私のクエリの期待される結果は、名前が「Demo」で姓が「De Demoon」であるユーザーの 1 つの JSON オブジェクトです。
前もって感謝します
PS: 私は noSQL よりも SQL データベースに精通しています。「事前計算されたデータ」、つまりリレーショナル データベースに格納できるが、常に同じ結合を通過する必要があるデータがある場合、noSQL データベースがより便利で強力であることがわかるという事実に加えて、この最後のものを使用することを余儀なくされています。ある意味で。これらの結果を 1 回計算 (結合) し、その結果を noSQL データベースに書き込むと、不要な負荷が軽減され、よく要求されるデータセットがグループ化されるため、ルックアップが大幅に高速化されます。これについて間違っている場合は、私のビジョンも修正してください。