为啥我不能以这种方式将数据添加到 Firebase?

Posted

技术标签:

【中文标题】为啥我不能以这种方式将数据添加到 Firebase?【英文标题】:Why I cannot add data into Firebase in this way?为什么我不能以这种方式将数据添加到 Firebase? 【发布时间】:2017-03-06 21:22:30 【问题描述】:

我正在做一个关注 Firebase 的项目,我尝试将数据作为教程中的代码从 Firebase 网站上传到 Firebase:

    // An index to track Ada's memberships

  "users": 
    "alovelace": 
      "name": "Ada Lovelace",
      // Index Ada's groups in her profile
      "groups": 
         // the value here doesn't matter, just that the key exists
         "techpioneers": true,
         "womentechmakers": true
      
    ,
    ...
  ,
  "groups": 
    "techpioneers": 
      "name": "Historical Tech Pioneers",
      "members": 
        "alovelace": true,
        "ghopper": true,
        "eclarke": true
      
    ,
    ...
  

我按照这个结构来编写自己的数据结构,如下所示:

func pushUser() 
        let username = self.username
        let userid = FIRAuth.auth()?.currentUser?.uid

        let userInfo : [String : Any] = ["username" : username,
            "userID" : userid,
            "sggestedRoutes" : "",
            "myTracedRoutes" : "",
            "routes": 
                "usualInfo" : true,
                "calcuInfo" : true
        
    ]

        let userRef = FIRDatabase.database().reference()
        userRef.child("user").childByAutoId().setValue(userInfo)
    

在 Swift3 中,但调试器说嵌套路由 不正确,对此我很困惑,谁能给我一个提示?

亲切的问候


收到建议后,我对代码进行了一些更改,但它仍然无法在 Route 部分工作:(

func pushUser() 
        let username = self.username
        let userid = FIRAuth.auth()?.currentUser?.uid

        let userInfo : [String : Any] =
            ["username" : username,
             "userID" : userid,
             "sggestedRoutes" : "",
             "uploadedRoutes" : "",
             "myTracedRoutes" : "",
             ["Routes":
                ["usualInfo" : true,
                 "calcuInfo" : true]
             ]
            ]
        let userRef = FIRDatabase.database().reference()
        userRef.child("user").childByAutoId().setValue(userInfo)
    

【问题讨论】:

【参考方案1】:

尝试将路由添加为 ["routes": ["usualInfo": true, "calcuInfo": true]]

不要忘记正确关闭子“用户信息”和“路线”

【讨论】:

你好,谢谢你的回复,但是这个也不起作用,xCode会告诉你间隔应该有一个“:”,我还是不知道:(

以上是关于为啥我不能以这种方式将数据添加到 Firebase?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在使用 kotlin 将数据添加到 firebase 实时数据库时会得到重复值?

这种类型的数据具有内置行为,不能以这种方式添加到模型中:System.Int64

为啥我不能在 TypeScript 中以这种方式只读数组?

为啥以这种方式使用 Alamofire 时没有发现任何价值?

将 Firebase Crashlytics 添加到 iOS 共享扩展的问题

将用户添加到 Firebase 数据库