【问题标题】:what would be efficient alternative of "JOIN" in Firestore(NoSQL)?Firestore(NoSQL)中“JOIN”的有效替代方法是什么?
【发布时间】:2022-01-25 19:42:34
【问题描述】:

我有users 收藏和transactions 收藏。

我需要通过计算他/她的交易来获取用户的余额。

我听说你可以复制和非规范化你的数据库以减少一次请求中的文档读取。 (阅读许多文档成本更高)

我的方法:

  1. transaction 集合设置为用户文档中的“子集合”,这样您就只能获取用户文档并计算客户端所需的值。
  2. 将这些集合分别作为顶级集合,并以某种方式进行“JOIN”查询以获取他/她的交易,然后在客户端计算价值。
  3. 只需在用户文档中创建一个名为“余额”的字段,并在每次进行交易时更新它。 (但这似乎不太适应未来可能发生的变化)

哪种方法有效?或者也许有完全不同的方法?

【问题讨论】:

    标签: firebase google-cloud-platform google-cloud-firestore nosql


    【解决方案1】:

    哪种方法有效?

    第三个。

    或者也许有完全不同的方法?

    当然,有,但到目前为止,第三个是最好和最便宜的。每次执行新交易时,只需使用以下方法增加“余额”字段:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-13
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多