2017-04-18 51 views
0

有火力的数据,关键是不要FIRAuth.auth()!currentUser!.uid如何更新Swift的Firebase数据?

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

我怎样才能更新纬度或长,我尝试更新的一个,但它只是额外创建一个表内部位置。

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]) 
+0

我不understant你的问题。您可以添加更多的上下文 –

+0

@Nazmul Hasan'let databaseRef = FIRDatabase.database()。reference() databaseRef.child(“location”)。child(“ - Khpr_PAuGSVngNspTVW”)。updateChildValues([“lat”:11.324231]) '它可以更新。但如果我点击按钮来更新这些数据。如何可以更新的纬度或长,如果我不会把用户密钥一个<-Khpr_PAuGSVngNspTVW – Kelvin

+0

什么是'FIRAuth.auth()!currentUser的问题!.uid'? –

回答

1

如果你知道它是哪个用户,只包括在参考路径。

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

yeah.I知道。哪种方法可以不需要自己输入用户密钥?我尝试使用queryOrderedByKey()它作为额外创建一个表内的位置。 – Kelvin

+0

@Kelvin你怎么知道要更新的节点,如果你不知道它是哪个用户做? – Jay