2016-09-30 27 views
0

Angularfire對我來說是新的。如何通過電子郵件ID獲取用戶並在angularfire中更新它?

我有以下「用戶」在火力

{ 
    "users" : { 
    "OXdf2BB0ZSO9eGAWGaeeHMAIz7k2" : { 
     "displayName" : "nirmal", 
     "email" : "[email protected]", 
     "username" : "nirmal" 
    }, 
    "kuuVEQHTrZgFyv9WZmfYhNJnUSf1" : { 
     "displayName" : "Mehul", 
     "email" : "[email protected]", 
     "username" : "malimehul" 
    } 
    } 
} 

數據庫我希望通過電子郵件ID來獲得用戶和更新,或在用戶添加新的屬性。

,如:

var userQuery = firebase.database().ref().child("users").orderByChild('email').equalTo('[email protected]'); 

userQuery.on("child_added", function (snap) { 
    console.log('snap', snap.val()); 
    //want to updating the user is received?, want to add phone property in received user 
}) 

所以,想在用戶([email protected])添加電話屬性:更新後用戶 ([email protected])用戶對象應類似於如下

"OXdf2BB0ZSO9eGAWGaeeHMAIz7k2" : { 
    "displayName" : "nirmal", 
    "email" : "[email protected]", 
    "username" : "nirmal", 
    "phone":"xxxxxxxxxx" 
} 

它可能在angularfire?

那麼,如何通過電子郵件ID獲取用戶並在angularfire中更新它?

+2

你寫了任何代碼嗎?因爲現在我發現很難理解你想要做什麼。通過共享代碼卡住的地方,我們將能夠更好地看到您正在嘗試的內容以及卡住的位置。 –

+0

@FrankvanPuffelen:謝謝你的回覆。我有更新我的問題。請檢查它...你可以得到它? –

回答

1

更新用戶:

var usersRef = firebase.database().ref().child("users")l 
var userQuery = usersRef.orderByChild('email').equalTo('[email protected]'); 

userQuery.on("child_added", function (snapshot) { 
    snapshot.ref.update({ phone: "+15554084242" }) 
}) 

因此,在新的生產線,我們使用ref獲得快照的引用,然後使用update()添加/更新的一個屬性。

相關問題