【问题标题】:updateChildValues seem not only updates valueupdateChildValues 似乎不仅更新值
【发布时间】:2018-05-16 16:46:23
【问题描述】:

我是新手 Firebase 框架,所以在我试图完成的教程中,作者仅通过调用 updateChildValues 函数来创建新值。

 @objc func handleRegister () {
    guard let email = emailTextField.text, let password = passwordTextField.text else {
        print("Form is not valid")
        return
    }
    Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
        if error != nil {
            print(error)
            return
        }

        //successfully authenticated user
        let ref = Database.database().reference(fromURL: "https://my-awesome-project-18f30.firebaseio.com")
        ref.updateChildValues([ "someValue" : 123123])

    }

看来 updateChildValues 函数不仅更新旧值,而且(另外)创建新值(如果以前不存在)。我试图在网络上搜索任何提及,但只找到重新分级更新旧值的信息,如果以前不存在旧值,则没有关于创建新值的信息。我对 updateChildValues func 的想法是真的吗?

【问题讨论】:

    标签: ios swift firebase firebase-realtime-database


    【解决方案1】:

    是的,updateChildValues 就像 HTTP 方法中的 PUT。如果键的值存在,则更新它。否则,如果该值不存在,则创建该值。

    正如Frank van Puffelen 所说的

    Firebase 会自动为每个值创建键,并自动删除没有值的键。知道了这一点,您确实可以看到 updateChildValue 也可用于创建值,并通过使用空值更新键来删除键。

    【讨论】:

    • Firebase 自动为每个值创建键,并自动删除没有值的键。知道了这一点,您确实可以看到updateChildValue 也可用于创建 值, 通过使用null 值更新键来删除键。
    • @FrankvanPuffelen 我编辑了我的答案,使您的评论更加完整
    • @FrankvanPuffelen 抱歉,我在哪里可以阅读官方文档中的相关信息?我没有找到关于“Firebase自动为每个值创建键,并自动删除没有值的键。”我很想在官方来源中阅读它,请给我一个线索,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多