【发布时间】:2017-04-28 01:35:35
【问题描述】:
我在将新记录插入 Firebase 数据库时遇到问题。虽然我可以添加新记录,但我之前的所有数据都将被覆盖。
在 Firebase 我有这个简单的数据模型:
{
"appName": {
"devices": {
"CBB60958-3D6E-4F42-96AE-6345471B1F38": {
"lat": 37.39747477,
"lon": -122.17969227,
"updated": 1493312965,
"username": "username"
}
}
}
}
guid 代表设备 ID。如果加载了新设备,我想以相同的格式将新记录添加到“跟踪”部分。我有以下更新功能:
fileprivate func initializeDevice() {
if !deviceExists {
let post = [self.guid: [
"lat" : locationManager.location?.coordinate.latitude ?? 0.0,
"lon" : locationManager.location?.coordinate.longitude ?? 0.0,
"updated" : Int(Date().timeIntervalSince1970),
"username" : username ]]
dbRef.child("devices").setValue(post)
}
}
我一直在测试数据库参考中可用的每种方法,虽然我能够插入记录,但我之前的所有设备记录都被删除,只留下当前记录。因此,我的代码似乎正在更新设备部分中的所有数据,而不是向其附加新记录。
谁能指出我插入新记录的正确方向?谢谢!
【问题讨论】:
标签: ios swift firebase firebase-realtime-database