Firebase - добавление дополнительных пользовательских данных в отдельную БД
Я новичок в Firebase и использую метод входа по электронной почте / паролю. У меня есть метод, работающий нормально, однако в моей регистрационной форме у меня есть дополнительные поля, которые я хочу ввести в базу данных. Насколько я понимаю из метода регистрации по электронной почте / паролю, любые дополнительные поля должны храниться отдельно от того, как сохраняется аутентификация по электронной почте / паролю при регистрации пользователя.
Я создал в моих базах данных подраздел для хранения дополнительных пользовательских данных, называемых пользователями. Вот как это выглядит в FireBase:
Вот функция, которую я вызываю (в React), чтобы создать нового пользователя:
signUp(e) {
e.preventDefault();
var firstName = $('.signup-first-name').val();
var lastName = $('.signup-last-name').val();
var userName = $('.signup-user-name').val();
var password = $('.signup-user-password').val();
var email = $('.signup-email').val();
var auth = firebase.auth();
const promise = auth.createUserWithEmailAndPassword(email,password).then(function(user) {
var user = firebase.auth().currentUser;
user.updateProfile({
displayName: userName,
}).then(function() {
// Update successful.
// new db code here
var ref = new firebase("https://music-app-7a4d3.firebaseio.com");
ref.onAuth(function(authData) {
ref.child("users").child(authData.uid).set({
firstName: firstName,
lastName: lastName
})
})
// end new db code here
}, function(error) {
// An error happened.
});
}, function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
console.error(error);
}
});
promise.catch(e => console.log(e.message));
firebase.auth().onAuthStateChanged(firebaseUser => {
if(firebaseUser) {
console.log(firebaseUser)
} else {
console.log("not logged in")
}
});
}
Следовали еще одному примеру, который я нашел здесь:
Добавить дополнительную информацию в пользовательскую таблицу Firebase
но не уверен, где я ошибся на этом пути. Документация на это довольно слабая, что не помогает!