首页 > 解决方案 > Firestore:文档父名称缺少“/”

问题描述

我正在使用 jest 对 Firestore 执行集成测试。我希望收到包含等于 field1 和 field2 的字段的文档。但是,我收到了以下错误。

我曾尝试在 firecase 控制台中创建复合索引,但问题仍然存在。这种情况似乎只发生在测试期间,因为当我正常运行 Node.js 应用程序时代码工作正常。我已将错误范围缩小到来自以下代码:

const response = await fs.collection('collection1').where('field1', '==', field1).where('field2', '==', field2).get();

错误信息是这样的:

Error: FirebaseError: [code=invalid-argument]: Document parent name "projects/int-test-1-5tb01cf1-poiu-0qa8-lk87-e1aeff685f2d/databases/(default)" lacks "/" at index 76.

标签: node.jsfirebasegoogle-cloud-firestorejestjsts-jest

解决方案


您的 firebase 工具刚刚从 6.9 更新到 7.0。

这是版本 7 中的重大更改。

我们通过将最高版本设置为 6.9 来修复它。我会找到设置版本的行...一秒钟。

所以我们使用脚本进行测试,脚本中的行是......

sudo npm install --unsafe-perm -g firebase-tools@6.9.2

您应该能够将 6.9.2 设置为您的最高版本的 firebase 工具来解决此问题。


推荐阅读