0

Как связать каждого пользователя с его данными в Firebase?

26

Описание проблемы:

Я планирую создать основное дерево данных с названием "users", которое будет содержать имена пользователей, выбранные разными пользователями в качестве своих логинов. В структуре данных для каждого пользователя будут храниться такие данные, как полное имя, адрес и номер телефона.

Мне нужно узнать, как получить данные каждого пользователя, когда они входят в свою учетную запись. Как реализовать эту функциональность?

1 ответ(ов)

0

Хотя я согласен с Андре относительно необходимости установления правил для обеспечения хорошей безопасности, я бы обработал данные немного по-другому. Вместо генерации строки я использую метод child(). Это вопрос личных предпочтений.

Сначала получаем UID и определяем объект данных:

let user = firebase.auth().currentUser;
let uid = user.uid;
let yourdata = { foo: 'something', bar: 'other' };

Теперь сохраняем данные:

firebase.database().ref('users').child(uid).set(yourdata)
    .then((data) => {
        console.log('Данные сохранены', data);
    })
    .catch((error) => {
        console.log('Ошибка при сохранении', error);
    });

Теперь получим данные:

firebase.database().ref('users').child(uid).once('value')
    .then((data) => {
        let fetchedData = data.val();
        console.log('Полученные данные', fetchedData);
    })
    .catch((error) => {
        console.log('Ошибка при получении', error);
    });

Обратите внимание, что метод set() перезапишет ваши данные, поэтому, возможно, стоит использовать push() в дальнейшем.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь