【发布时间】:2020-11-29 20:10:39
【问题描述】:
假设我们最初有以下文档结构:
// Structure A
car: {
weight: 1000kg
}
现在,无论出于何种原因,我们认为这样构造文档会更合乎逻辑:
// Structure B
car: {
characteristics: {
weight: 1000kg
}
}
v1.0.0 的所有客户仍然期待Structure A,这是其开发过程中的结构。更新后的客户端 v2.0.0 需要 Structure B。如何确保每个人仍然可以访问数据?
到目前为止,我看到了两种可能性:
1:客户端v2.0.0在读取文档时将带有Structure A的文档更新为Structure B。这意味着我最终会得到一个数据库,其中未读文档仍然有Structure A,而已读文档已经有Structure B。这听起来总体上不太好!
2:我在服务器端一次升级所有文档,然后强制用户升级其客户端以确保他仍然可以访问文档。
3: ?
有没有关于这个主题的最佳实践或文章?
【问题讨论】:
-
Firebase 实时数据库和 Cloud Firestore 是两个独立的数据库。请仅使用相关标签标记您的问题,不要同时使用两者。
-
我认为最直接的选择是第二种。你同意吗?
标签: database google-cloud-firestore nosql