我有一个Firestore文档,该文档很少更改,并且在我的应用程序中的许多不同位置用作查找表。据我了解,当我获取文档时,即使文档中的数据没有更改,它也总是在执行服务器查询。仅当服务器不可用时才使用本地缓存。
由于文档很少更改,所以我想做这样的事情...
1)应用启动时,获取文档并将其存储在本地。
2)设置侦听器,以便在文档更改时更新本地副本。
3)更新本地副本后,将此更改广播到可能正在使用该文档的任何小部件。
这是我希望Firestore默认工作的方式。
这是个好主意吗?关于如何实施此建议?
答案 0 :(得分:0)
这就是我最终要做的。实际上,这很简单。我将其实现为静态类,并且不确定这是否是最佳方法。但是我喜欢其他所有东西。
我创建了一个类,该类为文档设置了侦听器,还提供了更新文档的流。作为辅助工作,我的班级还将文档解析为Map并对游戏进行排序。
SELECT a.cartid
, a.userid
, a.productid
, b.productname
, b.productcategory
, b.producttype
, b.productprice
, b.productimage1
FROM cart
INNER JOIN products ON a.productid = b.productid
where a.productid= :uid