Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using push() method to create new child location without unique key

In my firebase web app when new users signup with their email i create a node under their email adress under the root ref

But the problem is using push() method to add every new user to the database every user is created with a unique key like below

-users

----ASFTU578FE

---------user: [email protected]

----FDWWE36S46

---------user: [email protected]

----WERSRTT23W

---------user: [email protected]

Now how can i access the path for a user since i dont know the unque key that will be created for every new user

Is there a way to push new user without a unique key but the key i know like user.displayName or user.email

like image 533
boomboxboy Avatar asked Mar 19 '17 10:03

boomboxboy


1 Answers

Calling push generates a location with an auto-calculated key.

To write a child at a path that you determine the key yourself, you simply call child("key").set(value).

If you store Firebase Authentication users in your database, the idiomatic way is to store them under their uid.

var user = firebase.auth().currentUser;
var usersRef = firebase.database().ref("users");
if (user) {
  usersRef.child(user.uid).set({ 
    displayName: displayName,
    email: email,
    photoUrl: photoUrl,
    emailVerified: emailVerified
  });
}
like image 55
Frank van Puffelen Avatar answered Oct 12 '22 21:10

Frank van Puffelen