javascript - 在 Firestore 中创建子集合会生成两个具有相同 id 的文档(而不是更新预先存在的文档)

标签 javascript node.js google-cloud-firestore

我使用的设置方法如下:

admin.firestore()
  .collection('threads')
  .doc(threadId)
  .collection('posts')
  .doc(postId)
  .set(data);

执行以下操作,但它会生成另一个具有完全相同 id 的文档,并且没有数据(只有其中的子集合),而不是向原始文档添加子集合。

这是调用 set() 方法后我的根集合(线程)的屏幕截图: enter image description here

id 为斜体的文档不包含任何数据,而是一个子集合(具有正确的文档)。

我在这里做错了什么,如何确保我实际现有的文档得到更新?

我还应用了相同的方法在我的线程集合(db.collection('threads').doc(newThreadId).set(data))中创建文档,并且工作得像一个魅力,创建和更新现有文档。

最佳答案

如果您的代码仍然按照您的预期读取和写入文档数据,无论您在控制台中看到什么,那么恭喜您 - 您在 Firebase 控制台中发现了一个错误。您的代码或 SDK 不太可能出现任何错误。

我建议contacting Firebase support并提交一份错误报告,其中包含您重现此情况所采取的步骤。

关于javascript - 在 Firestore 中创建子集合会生成两个具有相同 id 的文档(而不是更新预先存在的文档),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60086057/

相关文章:

javascript - OOP Javascript Pong 游戏中的上下文位于何处?

javascript - 无法通过串口node.js与四个Arduino通信

javascript - JavaScript 和 Mocha 的单元测试

Javascript:如何通过指定字符串中的字段来创建对象?

android - 如何修复 flutter cloud_firestore 依赖项?

javascript - 从两个不同的按钮打开菜单

javascript - 从 Informix 数据库返回的数据作为 php 中的未定义索引?

firebase - 文档在 Firestore 中被删除后出现

java - 无法将对象从 Firebase 数据转换为 POJO

javascript - 使选中的复选框在返回页面后保持选中状态