Google cloud firestore NoSQL如何在集合中查找id

Google cloud firestore NoSQL如何在集合中查找id,google-cloud-firestore,nosql,Google Cloud Firestore,Nosql,这里是NoSQL noob。我正在使用Firestore NoSQL构建一个应用程序。我在项目中循环,每个项目都有一个所有者id和创建者用户id。 我想在列表页面上显示所有者的姓名。在传统的SQL中,我有外键,所以我可以引用Item.Owner.FirstName NoSQL的最佳实践是什么?我是否应该在保存项目时将所有者名称保存为字段?或者在我遍历项目时查找每个所有者id以获取用户对象 第二种选择听起来很昂贵,所以我认为第一种方法是可行的。除非有更好、更被接受的方法,否则两者都会起作用。您可以

这里是NoSQL noob。我正在使用Firestore NoSQL构建一个应用程序。我在项目中循环,每个项目都有一个所有者id和创建者用户id。 我想在列表页面上显示所有者的姓名。在传统的SQL中,我有外键,所以我可以引用Item.Owner.FirstName

NoSQL的最佳实践是什么?我是否应该在保存项目时将所有者名称保存为字段?或者在我遍历项目时查找每个所有者id以获取用户对象


第二种选择听起来很昂贵,所以我认为第一种方法是可行的。除非有更好、更被接受的方法,否则两者都会起作用。您可以以您认为合适的方式引用其他文档中的数据,或者将信息复制到要查询以生成显示的文档中。您只需决定要处理的问题:

如果您在文档中复制数据(称为非规范化),那么您必须努力使它们彼此保持最新,如果您需要的话。因此,编写一个文档实际上可能会变成编写多个文档。 如果在不重复的情况下规范化数据,则每个查询都需要更多的查询才能从其他文档获取相关数据。这可能会导致读取负载大的应用程序的性能下降和成本增加。 由于我们不知道您的应用程序的性能要求和使用行为,因此无法给出具体建议。您必须仔细考虑您想要解决的问题,可能是基于复杂性、性能和总体成本。

您也可以查看。