Google cloud firestore FireStore中的引用文档是否知道其父文档?

Google cloud firestore FireStore中的引用文档是否知道其父文档?,google-cloud-firestore,Google Cloud Firestore,我正在玩FireStore,我想知道是否应该向指向“父”文档的引用文档添加id 我的例子如下: 我有一个用户集合,每个用户都有一个子集合,投票。是否应将用户ID存储为投票中的字段?或者这是多余的 如果您进行的查询要求ID存在,则应将其存储在那里。否则,您是否愿意在那里冗余存储它完全取决于您。我个人认为您应该这样做。不可避免地,在使用嵌套集合时,有时可能会使用collectionGroup查询调用所有投票。也就是说,您可能希望最终调用所有名为投票的集合,而不管用户是谁,也许所有投票都是“赞成”某件

我正在玩FireStore,我想知道是否应该向指向“父”文档的引用文档添加id

我的例子如下: 我有一个用户集合,每个用户都有一个子集合,投票。是否应将
用户ID
存储为投票中的字段?或者这是多余的


如果您进行的查询要求ID存在,则应将其存储在那里。否则,您是否愿意在那里冗余存储它完全取决于您。

我个人认为您应该这样做。不可避免地,在使用嵌套集合时,有时可能会使用collectionGroup查询调用所有投票。也就是说,您可能希望最终调用所有名为
投票的集合,而不管用户是谁,也许所有投票都是“赞成”某件事的


在这种情况下,我认为从长远来看,轻松访问用户id将对您有所帮助。

您需要用户id吗?谢谢。我不确定是否可以在孩子身上看到使用$ref或类似于$ref的“家长”。然而,我猜想没有一个内置的机制可以让引用知道哪个引用了它。我想这就是我想知道的如果孩子在FireStore中作为内置机械师引用了家长。如果没有,正如您所说,添加userId是一个好主意。实际上,您可以对返回的文档执行
.parent
操作来获取它。我只是想,如果您知道将投票存储在哪里(因为您已经指定了用户ID),那么您可以将其作为字段存储在文档中,这样您就不必费心处理
.parent
,等等。感谢您为我们提供有关Firebase安全规则的有用视频!谢谢你的回答。