首页 > 解决方案 > 在 Firebase 实时数据库中实现用户名(swift 4)

问题描述

首先,很抱歉我的英语不好并问了一个非常基本的问题。

我是 swift & iOS 编程以及 Firebase 实时数据库的新手。

如何将用户的用户名引用到用户的帖子?

我认为userId罐子可以作为参考的关键。

我的 JSON 结构截图

我的最终目标只是完成所有帖子(完成)并拥有发布者的用户名。

我使用过 PHP 和 MySQL(以前从未使用过 JSON)并且通常可以毫无问题地实现这一点,但我不确定如何在 Firebase 中实现这一点,可能是因为我对查询不太确定。

我已经阅读了可用于 Firebase 的查询和这个问题 ,但仍然不太确定,因为在我的情况下它有点不同。

谢谢你。

标签: swiftfirebasefirebase-realtime-database

解决方案


在您的控制器中,通过 id 从数据库中获取您的帖子:

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.


推荐阅读