为什么Cloud Firestore集合至少需要一个文档?

时间:2020-05-05 02:03:46

标签: firebase google-cloud-firestore

在创建一个新集合时,我被告知需要为其创建一个初始文档。我觉得这有点令人困惑。如果我要为支持即时消息窗口的集合创建一个名为“消息”的集合,为什么我要在用户发送任何内容之前在其中放置一个初始文档(代表一条消息)?

2 个答案:

答案 0 :(得分:2)

如果您没有要添加的文档,请不要添加文档。

根本不需要在控制台上创建集合。它们只是在文档首次出现时才出现,而在删除最后一个文档时消失。它们不需要像文件系统中的文件夹那样被创建和删除。只要假设它们存在就可以读写。如果不存在集合,则针对该集合的查询将仅不返回任何文档。

答案 1 :(得分:0)

我想这就是野兽的本质。克里斯·埃斯普林(Chris Esplin)告诉我们,Firebase始终遵循collection-document-collection-document模式。 Firebase Docs定义了集合,说:“文档存在于集合中,它们只是文档的容器。”他们将自己的Cloud Firestore数据模型定义为本质上无模式,需要唯一的文档名称。提供了更多有关层次结构数据的讨论,“ Cloud Firestore中的文档应该是轻量级的……在[文档]中创建其他集合作为子集合...子集合是与特定文档关联的集合。”他们的示例提供了一个聊天室集合,其中每个房间是带有消息子集合的文档,其中每个文档是消息的唯一的1 MB或更少的文件实例。 “请注意集合和文档的交替模式。您的集合和文档必须始终遵循此模式。您不能引用集合中的集合或文档中的文档……您最多可以嵌套100个级别的数据。”发出警告,删除文档不会删除其子集合。请参阅下面的参考。克里斯·埃斯普林爵士可在fullstackfirebase.com找到。

https://firebase.google.com/docs/firestore/data-model#node.js https://firebase.google.com/docs/firestore/data-model#hierarchical-data