1

正如我所见,Cloud Firestore和它的集合为我们提供了组织数据的更多功能。我认为,对于我和其他人来说,存在一个基本问题。Google Firestore数据组织

什么是更好的方法来存储主细节关系?

像这样:具有“MAKE”属性的文档的“CARS”集合。

我认为我需要一个“CARS”集合和一个独立的“MAKES”集合。

有什么想法?

回答

3

除非您有特定的需求,否则只需将每个CARS文档的MAKE作为字段进行查询即可。

如果您想要将MAKE作为枚举字段进行控制,您可以创建一个名为ValidMakes的集合,其中包含具有所有允许的Mids的ID的文档。在安全规则中,在允许写入之前,检查是否存在与MAKE字段值相同的文档。

+0

但是,MAKE必须来自预先定义的值列表(如果我有一个RDMS,则为表)或“集合”(?)。假设的应用程序将具有管理员级别,此级别的操作员可填写“MAKE”集合。其他操作员将添加CARS,但只能选择由管理员创建的MAKE ... – GCoe

+1

管理员是否创建了一个名为ValidMakes的集合,其中包含具有所有允许的Mids的ID的文档。在安全规则中,在允许写入之前,检查是否存在与MAKE字段值相同的文档。 –

+0

非常有趣。到目前为止,我只是在规则中考虑访问控制,但它们可以用于“参照完整性”之类的内容。但是,在这种情况下,我只能向运营商(在SELECT中)公开MAKES集合中的内容,在这种情况下,我不需要规则...(请将我的糟糕英语appologize) – GCoe