Как получить входные данные пользователя для отправки в базу данных Firebase под профилем пользователя? - PullRequest
0 голосов
/ 18 мая 2019

Итак, скажем, регистрация пользователя завершена (этот код уже введен правильно), и в следующем окне пользователю будет предложено ввести личную информацию (образование и т. Д.). Как вы кодируете, что эта информация поступает в Firebase под профилем пользователя.

У меня есть страница регистрации, и созданные там пользователи уже переходят на firebase.

Это то, что у меня есть на странице после регистрации. Нет ошибок, но явно неполных.

Ниже приведен код, который я нашел, но он предназначен только для ввода данных в базу данных. Не работает на 2 пункта:

  1. это не динамические данные, введенные пользователем, это просто описание того, что запрашивается пользователем,
  2. это не идет под профилем пользователя в firebase.

func post () {

        let MainFunInterest = "MainFunInterest"
        let SomethingInterestingIhaveRead = "SomethingInterestingIhaveRead"
        let JobOrEducation = "JobOrEducation"
        let WhatIamConsideringBuying = "WhatIamConsideringBuying"

        let post : [String : AnyObject] = ["MainFunInterest" : MainFunInterest as AnyObject,
                                           "SomethingInterestingIhaveRead" : SomethingInterestingIhaveRead as AnyObject,
                                           "JobOrEducation" : JobOrEducation as AnyObject,
                                           "WhatIamConsideringBuying" : WhatIamConsideringBuying as AnyObject]

            let databaseRef = Database.database().reference()
            databaseRef.child("personal info").childByAutoId().setValue(post)

}

Мне нужна запись пользователя, чтобы зайти под его профилем в firebase.

Ответы [ 2 ]

1 голос
/ 18 мая 2019

Вы можете добавить узел «пользователей» с помощью .child (), а затем установить их личную информацию с помощью их личного UID из .getUID

Таким образом, база данных может выглядеть так:

Пользователи - (Их личный UID) - Имя - «Терри» Электронная почта - "terry@email.com" Телефон - ‘0978364727’

0 голосов
/ 18 мая 2019

Когда вы звоните databaseRef.childByAutoId() Firebase генерирует новый дочерний узел в databaseRef. Поэтому, если вы вызываете это несколько раз, вы получаете несколько новых дочерних узлов, даже если вызовы выполняются для одного и того же пользователя.

Чтобы хранить данные для пользователей, вам нужно (как ответил Натан) хранить эти данные под уникальным UID этого пользователя. Таким образом, вы можете обновить его позже, если это необходимо, и легко найти данные для пользователя, не запрашивая их.

Чтобы сохранить данные под UID пользователя, сделайте что-то вроде этого:

let uid = Auth.auth().currentUser.uid
databaseRef.child("personal info").child(uid).setValue(post)

Подробнее об этом см .:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...