Я перемещаю базу данных Firebase в реальном времени в базу данных Firebase Firestore, но у меня возникают проблемы с поиском подходящей ссылки для запроса текущего пользователя.
onAuthUserListener = (next, fallback) =>
this.auth.onAuthStateChanged(authUser => {
if (authUser) {
this.user(authUser.uid)
.once('value')
.then(snapshot => {
const dbUser = snapshot.val();
// default empty roles
if (!dbUser.roles) {
dbUser.roles = [];
}
// merge auth and db user
authUser = {
uid: authUser.uid,
email: authUser.email,
emailVerified: authUser.emailVerified,
providerData: authUser.providerData,
...dbUser,
};
next(authUser);
});
} else {
fallback();
}
});
В частности, что будет заменой once('value')
и snapshot.val();
?
Я думал, что
.onSnapshot(snapshot => {
const dbUser = snapshot.val();
...