【问题标题】:How to update Firebase data for Swift?如何为 Swift 更新 Firebase 数据?
【发布时间】:2017-04-18 17:57:36
【问题描述】:

有firebase数据,key不是FIRAuth.auth()!.currentUser!.uid

["location": {"-Khpr_PAuGSVngNspTVW" =
                  {
                     "lat" = "24.370078858713";
                     "long" = "14.11361694336";
                  };
              "-KhH-LaOcWgwaGYbPGIX" =
                  {
                     "lat" = "22.379264";
                     "long" = "13.3213213";
                  };
]

如何更新 lat 或 long 之一,我尝试更新,但它只是在 location 内额外创建一个表。

 let databaseRef = FIRDatabase.database().reference()
 databaseRef.child("location").updateChildValues(["lat": 11.324231])

这是工作!但我不想自己写用户密钥

 let databaseRef = FIRDatabase.database().reference()
 databaseRef.child("location").child("ben").updateChildValues(["lat": 11.324231])

【问题讨论】:

  • 我不明白你的问题。你能添加更多上下文吗
  • @Nazmul Hasan let databaseRef = FIRDatabase.database().reference() databaseRef.child("location").child("-Khpr_PAuGSVngNspTVW").updateChildValues(["lat": 11.324231]) 它可以更新。但是如果我单击按钮更新此数据。如果我不放置用户密钥 ,如何更新 lat 或 long 之一
  • FIRAuth.auth()!.currentUser!.uid 有什么问题?
  • @Nazmul Hasan 像这样:Khpr_PAuGSVngNspTVW。可能是用户密钥。什么方法可以获取每个用户密钥?
  • 你对.orderByKey().limitToLast(1)感兴趣

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

如果您知道它是哪个用户,只需将其包含在参考路径中即可。

let ref = FIRDatabase.database().reference()
let userRef = ref.("location").child("-Khpr_PAuGSVngNspTVW")
userRef.updateChildValues(["lat": 11.324231])

【讨论】:

  • 是的。我知道。哪种方法自己不需要输入用户密钥?我尝试使用 queryOrderedByKey() 它还额外在 location 内创建一个表。
  • @Kelvin 如果你不知道它是为哪个用户更新的,你怎么知道要更新哪个节点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多