Firestore:文档父名称缺少“ /”

时间:2019-06-18 23:03:16

标签: node.js firebase google-cloud-firestore jestjs ts-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.

2 个答案:

答案 0 :(得分:0)

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

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

我们通过将最高版本设置为6.9来修复了该问题。我会在一行中设置版本...一秒钟。

因此,我们使用脚本进行测试,脚本中的行是...

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

您应该可以将6.9.2设置为Firebase工具的最高版本来解决此问题。

答案 1 :(得分:0)

将软件包@ firebase / testing升级到版本0.11.8(与firebase-admin 8.3.0匹配)并运行模拟器的7.2.0版本为我解决了此问题。