【问题标题】:How to set Firebase cloud functions to route to Firestore instead of Realtime Database如何将 Firebase 云功能设置为路由到 Firestore 而不是实时数据库
【发布时间】:2020-04-26 05:45:08
【问题描述】:

我目前在 android 上有一个 firebase 项目。我最初建立了一个实时数据库,然后尝试添加云功能,但决定切换到 firestore。

我添加了一个 firestore 数据库,但云功能不会路由到那里,而是添加到 RTDB。我禁用了 RTDB 并开始收到“数据库___已被所有者禁用”的错误。

我已将我的代码恢复到设置云功能之前的状态,并在仅使用 Firestore 可用的情况下重新设置它。即使它被禁用,它仍会尝试写入 RTDB(但仍显示在控制台中)。

如何将其路由到 Firestore?谢谢

供参考,我用this添加云功能

编辑:问题解决了,我应该一直在使用 Firestore 触发器,发现 here

【问题讨论】:

  • 检查您的代码库并删除所有提及firebase.database()admin.database()。然后通过firebase.firestore()admin.firestore() 处理您的代码并将您的代码从RTDB API 更改为使用Cloud Firestore API。
  • 这里是 Admin SDK 的 Cloud Firestore API。不要使用@google-cloud/firestore 中的new Firestore(),而是使用admin.firestore()

标签: node.js firebase firebase-realtime-database google-cloud-firestore


【解决方案1】:

没有“路由”。您必须使用您要使用的数据库提供的 API。实时数据库和 Firestore 是完全不同的数据库产品,它们没有相同的 API 或 SDK。因此,如果您切换到 Firestore,则必须重写所有代码以使用其 SDK 而不是实时数据库。

【讨论】:

  • 我明白了。我无法通过 Firestore 找到另一种方法,你能指出我的 Firestore API 的功能吗?
  • 使用 Firebase Admin SDK 或 Google Cloud 提供的适用于 Firestore 的 nodejs SDK。 Admin SDK 只是封装了 Cloud SDK 提供的相同 API。
  • 是的,你本来是对的,我应该一直使用 Firestore 触发器。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-10-08
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 2019-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多