Firebase Firestore 模拟器 UI 未显示任何数据,但应用查询中正在返回数据

Eli*_*elf 7 firebase firebase-tools react-native google-cloud-firestore

我在使用 firebase 的 firestore 模拟器时遇到了一个奇怪的问题。当我启动模拟器并检查模拟器的 firestore UI 时,它显示数据库中尚不存在数据。

然后,我尝试在 firestore 模拟器中查询我的反应本机应用程序中的数据,令人惊讶的是,上一个会话的旧数据又回来了。我正在返回在上一个会话中添加的数据,但它在模拟器 UI 上不可见。

我的印象是,关闭模拟器会删除该会话期间添加的所有数据,因此,下次启动模拟器时,为什么我会看到上一个会话中的数据?就好像它被以某种方式缓存在某个地方......?

我在堆栈溢出上看到了多篇关于--project提供给firebase emulators:start终端命令的参数的帖子。这似乎对我的情况没有任何影响。

我将不胜感激任何有关解决的建议。

Fan*_*Bao 6

根据我的经验,必须将应用程序连接到的项目与 Firebase CLI 当前使用的项目相匹配。否则,Firestore 模拟器 UI 不会显示与应用程序的实时交互。

具体来说,应用程序正在使用的Firebase 项目google-service.json或文件必须与.GoogleService-Info.plistfirebase projects:list

如果两个项目不匹配,应用程序仍然可以连接到模拟器;数据读写也可以;但实时 Firestore 模拟器 UI 不会显示任何内容。

  • 要更改当前项目“firebase use <project-ID>”。同时重新启动 Firebase 模拟器。 (4认同)

Eli*_*elf 1

事实证明,Firebase 本机版本具有某种行为有点奇怪的缓存机制。

对我有用的解决方案是,我从模拟器/设备中删除了正在开发的应用程序,并确保在出现提示时点击“删除所有应用程序数据”。

之后,我将重新安装,并且 firebase 将按预期运行良好。