【问题标题】:Why don't I see data in the Firebase Cloud Firestore Emulator UI?为什么我在 Firebase Cloud Firestore 模拟器 UI 中看不到数据?
【发布时间】:2020-11-12 02:53:39
【问题描述】:

我对安全规则进行了一些测试,他们为本地 Firestore 模拟器准备了一个数据集(使用 @firebase/testing 库,与 here 描述的差不多)。测试大部分都有效,所以我认为数据确实会到达 Firestore。

但我在模拟器 UI 中看不到它。

http://localhost:4000/ > Firestore 模拟器 > Go to emulator 显示空数据

相关,我想知道“项目ID”参数在仿真中的作用是什么?设置 Firebase 应用对象时需要它,但它在哪里使用?模拟器没有为我提供可供选择的模拟项目列表。

困惑。


复制方式(根据要求):

$ git clone git@github.com:akauppi/GroundLevel-es6-firebase-web.git
$ cd GroundLevel-es6-firebase-web/rules-test

# You only need to work in the rules-test subproject

$ npm install
...

在另一个终端(同一个文件夹):

$ npm run start    # leave running...
$ npm run test:symbols

测试应该通过(一个被跳过)。

测试的运行已经为模拟器准备了数据,它应该仍然存在。项目 ID abc(请参阅输出中的“使用会话:abc”)。

http://localhost:4000/ > 进入模拟器

预期:

  • 能够选择项目abc
  • 能够看到准备好的数据(顺便说一句,它在data.js

实际:

  • 没有项目ID选择
  • 没有数据

我知道的太少了,不知道发生了什么。也许@firebase/testing 永远不会到达模拟器,而我应该使用普通的 Firebase 客户端?

【问题讨论】:

  • 发现了一个与此相切的讨论 - 特别是项目 ID。当使用@firebase/testing 时,它们似乎是假的。是这样吗? github.com/firebase/firebase-tools/issues/1960
  • 请编辑问题以显示您正在使用的代码和过程未按您预期的方式工作。问题中应该有足够的信息,以便任何人都可以重现您看到的内容。
  • @DougStevenson Fair,已添加
  • 添加,因为这出现在我搜索“firestore 模拟器未显示根节点”时; 检查您是否正在运行最新的模拟器更新。在我的情况下,我有带有空父文档的子集合,它们是我几个月大的模拟器安装的not getting displayed in the UI

标签: firebase google-cloud-firestore firebase-tools


【解决方案1】:

模拟器 UI 仅显示活动项目,即firebase use 中使用的项目。

如果测试使用此项目 ID,则其数据在模拟器中可见。如果他们使用其他的,测试工作,但模拟器 UI 不在循环中。

不确定这是否是设计使然。如果您知道文档中的某个位置解决了这个问题,我很乐意在此提及。

firebase-tools8.6.0

【讨论】:

  • 这是我的问题。这不在任何地方的文档中。
  • 它正在工作!谢谢!你为我节省了很多时间
猜你喜欢
  • 1970-01-01
  • 2021-03-29
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 2014-12-09
  • 2019-05-23
  • 2021-05-08
  • 1970-01-01
相关资源
最近更新 更多