Firestore是脱机模式下使用Node.JS的理想选择吗?

时间:2019-05-23 14:52:58

标签: node.js firebase google-cloud-firestore raspberry-pi3

我在Raspberry Pi 3上创建了一个简单的Node.Js程序,该程序连接到Google Cloud Firestore数据库。目标是让iOS和Android应用程序同时连接到Firestore数据库。

脱机然后再次联机时,我发现所有对数据库的请求都已排队,然后推送到Cloud Firestore。

这是我的问题:

  • 请求保存在哪里?
  • 队列的限制是多少?
  • 该队列是否可配置?
  • 我是否正确地说,使用Node.js + Firestore,没有本地存储的数据库可以脱机工作吗?仅适用于移动或网络应用,对吗?
  • 是否有任何线索表明Google是否拥有Node.JS的离线数据库?
  • 有了我要实现的目标,Firestore仍然有意义吗?如果没有,您有建议吗?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  

Firestore是脱机模式下使用Node.JS的不错选择吗?

根据有关Firestore offline persistence的官方文档:

  

对于Web,默认情况下禁用离线持久性。要启用持久性,请调用enablePersistence方法。会话之间不会自动清除Cloud Firestore的缓存。因此,如果您的Web应用程序处理了敏感信息,请确保在启用持久性之前先询问用户是否在受信任的设备上。

     
      
  • 重要:对于网络,离线持久性是一项实验性功能,仅Chrome,Safari和Firefox网络浏览器支持。此外,如果用户打开多个指向同一Cloud Firestore数据库的浏览器选项卡,并且启用了离线持久性,则Cloud Firestore仅在第一个选项卡中可以正常工作。
  •   

因此,即使此离线持久性是一项实验功能,您仍然可以在项目中使用它。但是,在使用Node.js时,尚不支持离线持久性。

  

请求保存在哪里?

Cloud Firestore数据库客户端在内存中保留您正在侦听的所有数据的副本。如果启用离线持久性,则客户端还将持久性将活动数据和最新数据持久化到磁盘。

  

队列的限制是多少?

请从此 post 中查看我的答案。

  

该队列是否可配置?

不,不是。都是数据库还是什么都没有。

  

我是说对了,使用Node.js + Firestore,没有本地存储的数据库可以脱机工作吗?仅适用于移动或网络应用,对吗?

是的。它仅适用于Android,iOS和网络(实验性)。

  

任何线索是否表明Google将拥有Node.JS的离线数据库?

不,我不知道。您应该向Firebase团队询问。

  

有了我要实现的目标,Firestore仍然有意义吗?如果没有,您有建议吗?

由于尚不支持离线持久性,因此在使用Node.js时,我应该考虑使用另一个数据库来帮助您本地缓存数据