首页 > 解决方案 > /下载 JSON 并仅在有更改时更新。Firebase 可以做到这一点吗?

问题描述

我计划拥有一个约 20MB 的大型 JSON,并且我正在使用 JSON 创建一个 React Native 应用程序。我想拥有该应用程序:

仅下载对 JSON 的更改。

或者至少

仅在进行了更改时才下载(每月少于一次)。

如果有比 Firebase 更好的东西,我会很好地切换到那个。

标签: jsondatabasereactjsfirebasereact-native

解决方案


我有同样的问题,一个巨大的 JSON 对象,每周更改一次。我解决这个问题的方式如下

假设我们有一个对象 O ~20MB

我在我的 firebase db 中创建了对象 data = {raw: O, update: Date()}

在客户端,我检查了 /data/update 并将其与用户 localStorage 进行比较。如果它改变了,我替换了用户的本地存储对象,否则跳过。

这样,您无需下载整个 O 即可获取日期对象

看起来像

const {update, raw} = localStorage.fetch('/data')
const last_update = firebase.fetch('/data/update')
if(update === last_update){return raw}
const new_raw = firebase.fetch('/data/raw')
localStorage.save('/data', {update: last_update, raw: new_raw})
return new_raw

推荐阅读