【发布时间】:2019-07-14 22:13:17
【问题描述】:
我需要定期将一组数据更新到我的实时数据库中(大约 1100-1200 个数据),这些数据可能存在也可能不存在于数据库中。
我已将 python 和 java admin sdk 用于 firebase。首先,我尝试使用循环更新数据,但它似乎非常慢,因为更新 1100 个数据需要 40 多分钟。我无法批量更新,因为它会覆盖我现有的数据。我需要一种方法来更新每个节点内的数据,如果数据不存在,那么只需创建一个新节点。
我一直这样做,但这需要永远
for data in datalist:
if data.id and data.uid:
obj = {
'name': data.name,
'id': data.id
}
grd = {}
grd['basic'] = data.gender
ref = root.child(data.uid).update(obj)
ref = root.child(data.uid).child('basic').update(grd)
我认为我可以从实时数据库中下载我的整个数据库并对其进行修改。然后我可以更新整个数据。但目前我的数据库大小约为 4 mb,增长速度非常快。因此,即使我这样做,将来也会越来越难。
这种批量更新还有其他方法吗?或者有什么办法可以将更新时间缩短到 5~10 分钟?
【问题讨论】:
标签: java python firebase-realtime-database