UID可能是空白的吗?

时间:2018-05-03 00:00:30

标签: swift firebase

我正在使用Firebase来跟踪用户的订阅信息。他们必须在Firebase中注册,然后在购买完成后,Firebase将设置/续订他们的订阅。数据库是结构化的

root
 -> users
   -> UID
     ->user info

我添加了这样的新用户信息:

func setExpiration() {
    guard let user = Auth.auth().currentUser else {
        return
    }

    let usersRef = Database.database().reference().child("Users")

    usersRef.observeSingleEvent(of: .value, with: { (dataSnapshot) in
        if let dict = dataSnapshot.value as? [String : [String : String]] {
            ...

            // Checks to see if the user exists in the database yet.
            if let userDict = dict[user.uid] {
                ...

                usersRef.child(user.uid).updateChildValues(keyedValues, withCompletionBlock: { (error, databaseReference) in
                    if let error = error {
                        ...

                        return
                    }

                    ...
                })
                // User does not exist in database and needs added.
            } else {
                ...

                usersRef.updateChildValues([user.uid : keyedValues], withCompletionBlock: { (error, databaseReference) in
                    if let error = error {
                        ...

                        return
                    }

                    ...
                })
            }
        }
    })
}

我的问题是,有时最近,用户信息直接在users桶中而不是在他们的UID中。在玩完这个之后我无法复制这个问题。到目前为止,似乎并非所有用户都遇到此问题。是否有可能uid有时会变回空白并导致它写入错误的位置?

0 个答案:

没有答案