Angular 云Firestore:如何引用其他文档?
我用的是Angularfire2。假设我有一个Angular 云Firestore:如何引用其他文档?,angular,firebase,angularfire2,google-cloud-firestore,Angular,Firebase,Angularfire2,Google Cloud Firestore,我用的是Angularfire2。假设我有一个users和comments集合。添加注释时,引用创建注释的用户的正确方式是什么?起初,我认为我可以简单地创建一个评论,其结构如下: { message: string, user: { uid: string, username: string, ... } } 但是问题是如果用户更新了他的个人资料,那么这里的数据就不正确了。是否可以在创建评论时提供用户id,并在查询评论时获
users
和comments
集合。添加注释时,引用创建注释的用户的正确方式是什么?起初,我认为我可以简单地创建一个评论,其结构如下:
{
message: string,
user: {
uid: string,
username: string,
...
}
}
但是问题是如果用户更新了他的个人资料,那么这里的数据就不正确了。是否可以在创建评论时提供用户id,并在查询评论时获取整个用户数据?完全由您决定。如果你想复制现在的数据,你一定要想办法确保所有的副本都是最新的。如果您只想存储uid(文档id),则需要进行第二次文档获取以获取消息的用户详细信息。您实际上是在成本、速度和复杂性之间进行权衡,而实际上并没有一种“正确的方法”来做到这一点。使用firestore,您可以将该字段保存为DocumentReference,它是对另一个集合中文档的引用。这使得字段在“注释”可观察范围内充当自己的可观察范围。本文演示如何在设置或更新文档时设置引用路径: Firestore提供了各种本机支持的数据类型,如下所述: 我希望这能有所帮助