【问题标题】:How to append without unique auto id firebase swift如何在没有唯一自动 ID 的情况下快速追加 firebase
【发布时间】:2017-01-22 08:05:38
【问题描述】:

我正在尝试将数据附加到我的数据库中,每次用户单击“赞”按钮时,如果用户尚未单击它。问题是,当我附加到likesForPost 时,会显示一个唯一的 ID。我怎样才能摆脱它?否则我无法检查用户是否已经点击了按钮?

这是我的火力基地结构:

绿色部分是唯一ID,唯一ID下的黑色区域是用户ID,我希望能够检查是否已经点击了按钮。

这是我附加到likesForPost的代码

let quoteString = [userId: true]
                let refPhotos = FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost")
                let refBase54 = refPhotos.childByAutoId()
                refBase54.setValue(quoteString)

希望你们能帮助我:-)

【问题讨论】:

    标签: ios swift firebase append firebase-realtime-database


    【解决方案1】:

    使用:-

    let prntRef = FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost")
    prntRef.observeSingleEventOfType(.Value, withBlock: { (snap) in
    
        if let favDict = snap.value as? NSMutableDictionary{
            favDict.setObject("true",forKey : uid)
            prntRef.setValue(favDict) 
        } else {
            prntRef.setValue(["true":uid])
        }
    })
    

    或者但这只是HACK!

    FIRDatabase.database().reference().child("feed-items").child(dataPathen).child("likesForPost").updateChildValues(quoteString)
    

    更多选项请查看:- https://stackoverflow.com/a/39458044/6297658

    【讨论】:

    • 如果有某种方法可以获得唯一的自动 ID,则问题可能会得到解决,firebase 正在创建?
    • 在字典键中不存在您的 uid 之前无关紧要,它将充当附加值
    • 太棒了!您是否也知道如何退出 facebook,以便我可以在模拟器中尝试另一个帐户? (我有一个注销按钮,但是当我再次按登录时,它使用的是同一个帐户)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多