У меня есть этот кусок кода:
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(data){
firebase.database().ref('Users').child('006').set({
email: data.user.email,
createdAt: data.user.createdAt
}).then((data)=>{
//success callback
console.log('data ' , data);
}).catch((error)=>{
//error callback
console.log('error ' , error)
})
}).catch(function(error) {
//Handle error
});
, что довольно просто, и что он в основном делает, это для проверки подлинности в системах Firebase и после его завершения, чтобы сохранить новую запись в базе данных реального времени, которую я также настроил там.
Проблема связана с этой частью кода:
email: data.user.email,
createdAt: data.user.createdAt
если я оставлю это так, он всегда использует значения 'data' (которые действительно доступны на данном этапе) и не создает новую запись в firebase. Если я сделаю это так:
email: 'data.user.email',
createdAt: 'data.user.createdAt'
немедленно добавляется новая запись (конечно, не с реальными значениями email и созданными на нем, а только со строками). Я пытался JSON.stringify / .toString () их, но снова безуспешно. Я действительно не знаю, что мне нужно сделать, чтобы добавить фактические значения в JSON, который передается методу set .
И одним из побочных недостатков является то, что я получаю это
Формат и пример содержимого того, что возвращается с
firebase.auth().createUserWithEmailAndPassword(email, password)
в списке аргументов then:
{
"user":{
"uid":"some_user_id",
"displayName":null,
"photoURL":null,
"email":"hshy@bshs.hs",
"emailVerified":false,
"phoneNumber":null,
"isAnonymous":false,
"providerData":[
{
"uid":"hshy@bshs.hs",
"displayName":null,
"photoURL":null,
"email":"hshy@bshs.hs",
"phoneNumber":null,
"providerId":"password"
}
],
"apiKey":"some_api_key",
"appName":"[DEFAULT]",
"authDomain":"sub-dom.firebaseapp.com",
"stsTokenManager":{
"apiKey":"some_api_key",
"refreshToken":"some_JWT_token",
"accessToken":"some_JWT_token",
"expirationTime":1541582223251
},
"redirectEventId":null,
"lastLoginAt":"1541577292000",
"createdAt":"1541577292000"
},
"credential":null,
"additionalUserInfo":{
"providerId":"password",
"isNewUser":true
},
"operationType":"signIn"
}