【问题标题】:NoSQL how to lookup id in a collectionNoSQL如何在集合中查找id
【发布时间】:2020-03-05 12:24:47
【问题描述】:

NoSQL 菜鸟在这里。我正在使用 Firestore NoSQL 构建应用程序。我正在遍历每个项目都有一个所有者 ID(创建者用户 ID)的项目。 我想在列表页面上显示所有者的姓名。在传统 SQL 中,我有外键,所以我可以参考说,Item.Owner.FirstName

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

第二个选项听起来很贵,所以我假设第一个方法是要走的路。除非有更好、更被接受的方式?

【问题讨论】:

  • 您也可以this查看。

标签: google-cloud-firestore nosql


【解决方案1】:

两者都可以。您可以以任何您认为合适的方式引用其他文档中的数据,或者将信息复制到您打算查询以构建显示的文档中。您只需要决定要处理哪个问题:

  • 如果您在文档之间复制数据(称为“非规范化”),那么您必须努力使它们彼此保持最新,如果您需要的话。因此,编写一份文档实际上可能会变成编写多份文档。
  • 如果您对数据进行规范化而不重复,那么您的每个查询都需要更多查询才能从其他文档中获取相关数据。这可能会导致读取负载繁重的应用的性能下降和成本增加。

由于我们不了解您应用的性能要求和使用行为,因此无法给出具体建议。您必须仔细考虑您想要解决的问题,可能基于复杂性、性能和总体成本。

【讨论】:

    猜你喜欢
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2015-03-02
    • 2018-05-03
    • 1970-01-01
    • 2014-07-11
    • 2015-07-16
    相关资源
    最近更新 更多