2017-04-18 70 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