2016-09-30 60 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()添加/更新的一个属性。

相关问题