Реализация имени пользователя в базе данных Firebase Realtime (swift 4) - PullRequest
0 голосов
/ 14 мая 2018

Прежде всего, извините за мой плохой английский и задаю очень простой вопрос.

Я очень новичок в программировании swift и iOS, а также в базе данных Firebase Realtime.

Как можноЯ ссылаю имя пользователя на пост пользователя?

Я думаю, userId может функционировать как своего рода ключ для реферирования.

my JSON structure screenshot

Моя конечная цель - просто получить все сообщения (готово) и иметь имя пользователя, который их опубликовал.

Я работал с PHP и MySQL (никогда раньше не работал с JSON) и обычно добиваюсь этого с помощьюнет проблем, но я не уверен, как реализовать это в Firebase, возможно, потому что я не очень уверен в запросах.

Я прочитал запросы, доступные для Firebase, и этот вопрос но все же не так уверен, так как в моем случае это немного по-другому.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

К сожалению, в NoSQL нет соединений. Таким образом, вы должны выполнить еще один запрос или дублировать данные.

Выполнить еще один запрос

Довольно просто, каждый раз, когда вы вводите имя пользователя, вы запрашиваете его. Я не советую это для информации, которая вам всегда нужна, и что «никогда» не меняется, например, имя пользователя.

Дублировать данные

Вы можете либо напрямую добавить имя пользователя с помощью post, либо использовать триггер db Cloud Function для автоматического дублирования нужных вам данных. Рекомендуется в случае имени пользователя, но может быть сложно в случае переменной информации.

0 голосов
/ 14 мая 2018

В вашем контроллере получите ваше сообщение из базы данных по идентификатору:

class func getPosterId(post: Post, completion: @escaping ([Post]) -> Swift.Void) {

Database.database().reference().child("posts").observe(.value, with: { (snapshot) in
            if snapshot.exists() {
                var posts = [Post]()

                let values = snapshot.value as! [String: Any]
                let post = values[post.id]
                completion(post)
             }
        })

Затем завершите его в вашем ViewController и получите его userId.

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