json - /下载 JSON 并仅在有更改时更新。Firebase 可以做到这一点吗?
问题描述
我计划拥有一个约 20MB 的大型 JSON,并且我正在使用 JSON 创建一个 React Native 应用程序。我想拥有该应用程序:
仅下载对 JSON 的更改。
或者至少
仅在进行了更改时才下载(每月少于一次)。
如果有比 Firebase 更好的东西,我会很好地切换到那个。
解决方案
我有同样的问题,一个巨大的 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
推荐阅读
- python - Python pandas pivot_table 多个时间索引
- r - R递归修改列表,匹配条件
- java - 尝试制作一个 JFrame,其中包含两个拥有自己的类的 JPanel,然后使用 mouseListener 在两个 JPanel 上绘制形状
- docker - 来自 docker-compose 的顶级属性“network_mode”无效
- python - python ValueError:形状(389,1)的不可广播输出操作数与广播形状(389,7)不匹配
- node.js - 如何使用 Spotify API 上传自定义播放列表封面图片
- laravel - 如何从集合 laravel 中检索值
- r - 使用 (ref:foo) 格式化 bookdown 定理环境标题(例如,示例)
- php - 检查 isset 的特定值
- c++ - 具有原始类型的 C++ 并发队列