firebaseでデータを返すときに、child_added
とvalue
の間に少しの違いがあります。'child_added'と 'value' firebaseの違いは?
データのフェッチ:
ref.orderByChild('appUserName')
.equalTo(issuer)
.once('value')
.then(function (snapshot) {
var value = snapshot.val();
if (value) {
// Has Value...
}else{
//Has No Value...
}
データ構造:
AppUsers --
234jl23jl4kj23 --
data --
//.. data
userName : "testUser1",
userPass: "password123"
9873h23foiu34u
//same structure
o8987s52df134o
//same structure
値があり、どのように私console.log
場合、私はsnapshot.val()
はこのようにそれを使って何かかどうかを返したかどうかを確認するためにテストすることができvalue
を使用しますsnapshot.val()
を返します。生成されたキーのレベルでデータを返します。
{234jl23jl4kj23 --
{data --
//.. data
userName : "testUser1",
userPass: "password123"}}
私はchild_added
を使用してデータを取得する場合:
ref.orderByChild('appUserName')
.equalTo(issuer)
.once('child_added')
.then(function (snapshot) {
var value = snapshot.val();
if (value) {
// Has Value...
}else{
//Has No Value...
}
issuer
がappUserName
に値として見つからない場合、それも.then
機能に入る文句を言わないので、それが値を得た場合、私はfirebase機能で見カントか否か。また、child_added
がデータを取得する方法は、1レベル深いです。代わりにそれはそのキーの値を返し、生成した鍵で返す:
{data --
//.. data
userName : "testUser1",
userPass: "password123"}
それが1つの以下のループになるので、私はそれをこの方法を使用することを好む私は最初の内のデータを取得するためにチェックする必要がありますキーを押してから、データスポット内のオブジェクトをループします。しかしissuer
がappUserName
にないなら、私にも、if
else
を行うすることが文句を言わない機能に入るルーピングなしchild_added
ほど深いのでドリルが、それでもかどうかを確認するためにif else
を行うことができるようにする方法はありますsnapshot.val()
には何もありますか?
ああ、それは意味があります。ありがとう。 – Chipe