emi*_*mil 3 javascript node.js firebase google-cloud-firestore
我一直在使用 firebase RTDB,我打算将其迁移到 firestore。
我有与许多其他节点关联的 userId。
例如,我有users,,messages。purchases
为了将用户与其他集合相关联,我有users_messages/$date/$userId/$messageId, purchases/$date/$userId/$purchaseId,因为 RTDB 不支持复杂查询,并且我希望能够查询特定用户的日期范围内的消息。
现在我意识到 firestore 在数据查询方面比 RTDB 好得多,并且将具有messages、和 的purchases集合。dateuser
在这种情况下,我应该将userId整个user文档存储在messages集合中purchases吗?
一般来说,在 NoSQL 数据库中存储重复数据的最佳方式完全取决于项目的要求。没有一种适合所有人的正确解决方案。
您必须询问一些有关要复制的数据的问题:
如果您的重复数据需要更改并保持同步,那么您可能很难使所有这些重复数据保持最新,并且您可能会花费大量金钱来保持所有这些文档最新,因为这将需要读取和写入每个文档的每个更改。
如果您需要非常快的查询,您可能希望复制更多数据,以便客户端只需为每个查询项读取一个文档,而不是多个文档。但您也可以依靠本地客户端缓存来降低成本,具体取决于客户端必须读取的数据。
最后,您选择是否复制某些数据,很大程度上取决于您的数据及其特征。您必须根据具体情况进行思考。
| 归档时间: |
|
| 查看次数: |
3596 次 |
| 最近记录: |