我使用firebase服务器时间戳作为节点名称在firebase中添加了一个新节点。它崩溃并发出此错误“由于未捕获的异常导致应用程序终止'InvalidPathValidation',原因:'(child :)必须是非空字符串且不包含'。' '#''$''['或']'''。这是我的代码
let kFirebaseServerValueTimestamp = [".sv":"timestamp"]
let serverTimestamp = "sosLog" + String(describing: kFirebaseServerValueTimestamp)
FIRDatabase.database().reference().child(serverTimestamp).setValue(["residentUid":self.user_uid,"name":self.user_name, "timestamp": [".sv": "timestamp"], "status": "SOS" ]){
}
这是我的db结构。所以我想创建一个节点名称sosLog1234567456就像admin,billingdate node。enter image description here
答案 0 :(得分:0)
Firebase有一些密钥限制。创建符合以下规则的拥有密钥。
如果您创建自己的密钥,它们必须是UTF-8编码,可以是 最多768个字节,不能包含。,$,#,[,],/或ASCII 控制字符0-31或127。