我不明白爲什麼我對我的Firebase數據庫的查詢不起作用。我是新來的,並決定遵循一個「簡單的教程」來讀取數據。編寫JSON對象很有用,很高興看到這一點。另一方面閱讀開始讓我生氣。我唯一想做的事情是閱讀1「記錄」,其中電子郵件地址等於某個電子郵件地址。這些在用戶數據庫中是並且應該是唯一的。一旦我找回用戶,我就可以使用他的UID,即push()上自動生成的值來做其他事情。因此,這是一個演示,我現在不關心安全性,新創建的Firebase數據庫的默認讀取和寫入行爲均適用。任何人都可以隨時隨地進行完整的讀寫訪問。Firebase:查詢返回null
這是演示網站的代碼,看看東西的作品
<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('[email protected]')
.endAt('[email protected]')
.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('[email protected]')
.endAt('[email protected]')
.once('value', function show(record) {
$('#rawdata').text(JSON.stringify(record.val(), null, 4));
});
這是結構/用戶
"-JlyxV5xvQFLybevk9kD" : {
"AccountExpireDate" : "31/03/2016",
"AccountStartDate" : "01/04/2015",
"Alias" : "het hol van pluto",
"Attended" : {
"-JlyxMApRwcniJLXfqbU" : true
},
"Birthday" : "01/01/1970",
"E-Mail" : "[email protected]",
"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" : "[email protected]",
"FirstName" : "Jos",
"LastName" : "Jossers",
"MemberOf" : [ "-JlyxMqpRw5nrJLef9bU" ],
"OrganizationID" : "",
"Password" : "abc123!"
}
爲了闡明這種結構,「UID」直接位於用戶的下面。當UID展開時,我們會看到細節。
我的查詢的預期結果是用戶的名字是「Demo」,他的姓氏是「De Demoon」的一個JSON對象。
在此先感謝
PS:我更熟悉SQL數據庫比NOSQL。我有點不得不使用這最後一個,除了我看到noSQL數據庫更有用,更強大,當我們有「預計算數據」時,這些數據可以存儲在關係數據庫中,但始終需要通過相同的聯接以一種方式。將這些結果計算(加入)一次,並將結果寫入noSQL數據庫,通過減少不必要的負載並將通常請求的數據集分組在一起,使查找速度更快。如果我錯了,請糾正我的視力。
我的救主! orderByChild修復它。沒有注意到這是必要的,除非使用setPriority。以爲我可以將數據推送到firebase並查詢它,看起來像我認爲是錯誤的。我在猜測時發生的事情。 – jonny8bit 2015-04-07 21:13:49