【问题标题】:Is Firestore a good choice to work with Node.JS in offline mode? [closed]Firestore 是在离线模式下使用 Node.JS 的好选择吗? [关闭]
【发布时间】:2019-05-23 14:52:57
【问题描述】:

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

下线再上线时,我看到我对数据库的所有请求都已排队,然后推送到 Cloud Firestore。

这是我的问题:

  • 请求保存在哪里?
  • 队列的限制是多少?
  • 该队列是否可配置?
  • 我说对了,使用 Node.js+Firestore,没有本地保存的数据库可以离线工作吗?仅适用于移动或网络应用,对吗?
  • 如果 Google 会为 Node.js 提供离线数据库,有任何线索吗?
  • 有了我想要实现的目标,Firestore 还有意义吗?如果没有,您有什么建议吗?

提前感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    Firestore 是在离线模式下使用 Node.JS 的好选择吗?

    根据Firestore offline persistence的官方文档:

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

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

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

    请求保存在哪里?

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

    队列的限制是多少?

    请查看我的回答 post

    该队列是否可配置?

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

    我说对了,使用 Node.js+Firestore,没有本地保存的数据库可以离线工作吗?只能使用移动或网络应用程序,对吗?

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

    是否知道 Google 是否会为 Node.JS 提供离线数据库?

    不,我没有。您应该询问 Firebase 团队。

    有了我想要实现的目标,Firestore 还有意义吗?如果没有,您有什么建议吗?

    因为目前还不支持离线持久化,所以在使用 Node.js 时,我应该考虑使用另一个可以帮助您在本地缓存数据的数据库

    【讨论】:

    • 嗨@alex mamo,当激活离线持久性时,我得到“未实现”错误,我认为基于可用的“语言”是有意义的。别忘了,我正在尝试在 Node.js 应用程序中使用它。
    • 我刚刚看到它适用于 Node.js 所以请查看我的更新答案。希望现在很清楚。
    • 谢谢@Alex Mamo!
    • 不客气,干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 2016-03-20
    • 2014-03-02
    • 2015-07-07
    相关资源
    最近更新 更多