【问题标题】:Firebase unique key is always nilFirebase 唯一键始终为零
【发布时间】:2021-10-24 03:40:34
【问题描述】:

我想从 firebase 获取一个唯一的密钥来在 firebase 实时数据库中存储一些数据,但是当我尝试打印我的密钥时它总是返回 nil

我的数据库参考:

var ref = Database.database().reference()

我的关键变量:

var key = ref.key

【问题讨论】:

  • 好吧,如果你得到的只是基本参考,那就没有钥匙了。提供有关您存储内容的更多信息,我们可以从那里帮助您。
  • @goatofanerd 我只想从 firebase 获取一个随机密钥来设置数据库中某些项目的 ID

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

没有为根引用生成密钥,添加一个.child,它应该可以工作。否则,键中没有任何意义,因为它是数据库的根。

例子:

var key = ref.child("Test").key

【讨论】:

  • 现在返回这个:Optional("Test")
  • 这是@GSepetadelis 的期望值。您是否期望其他东西被退回?
  • @FrankvanPuffelen 是的,我只想从 firebase 获取一个唯一键来设置数据库中某些项目的 ID
  • 要获取新的唯一子引用,请在父引用上调用 childByAutoId()。例如,要在新的唯一子节点下写入,您可以执行 ref.childByAutoId().setValue("your value")
【解决方案2】:

您要的是根节点的键,根据定义,它是nil

要获取您可以写入的新的唯一子引用,请在父引用上调用 childByAutoId()。例如,要在根下的一个新的唯一子节点下写入,您可以这样做:

ref.childByAutoId().setValue("your value")

要获得一个可以在其他地方使用的新唯一 ID,您还可以这样做:

ref.childByAutoId().key

【讨论】:

    猜你喜欢
    • 2021-02-27
    • 1970-01-01
    • 2013-01-02
    • 2016-05-02
    • 2012-01-16
    • 2020-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多