gpt4 book ai didi

mongodb - 使用已在生产数据库中的数据进行数据库迁移

转载 作者:行者123 更新时间:2023-11-29 13:02:10 25 4
gpt4 key购买 nike

我不太了解迁移,但这是一个我不确定如何回答的具体问题。

在生产中,当用户数据已经存在时,如何更改数据库格式/架构? (我们在 MongoDB 上的 Meteor 应用程序与我们的主 Postgres 数据库的答案是否不同?)基本上,如果您编写引入新字段的新代码,以及希望出现该新字段的新代码,那么系统将无法工作从转换前的数据库中提取数据。

至少对于 Mongo 来说,一个可能的解决方案是编写一个脚本来用其中的数据更新数据库布局,但我想知道这对于生产数据库来说是否太容易出错,而且当你没有必要的信息(例如,如果您之前没有从用户那里收集过某个信息字段。)

最佳答案

我不是 Postgres 专家,但在经典的关系数据库案例中,如果未填充字段(NULL,其他),您可以更改架构并为该字段设置默认值。然后,通常,您编写代码来处理字段中的空值/默认值,或者进行批量更新以适本地填充字段。

使用 MongoDB,您可以做同样的事情,但不需要(可能很昂贵)ALTER 命令来更改模式或默认设置,您可以在适当的时候简单地添加字段(如您为其他目的添加或更新文档)。

本质上,您懒惰地添加该字段,而不必担心没有它的文档。您无需编写代码来处理默认值/空值,而是编写处理字段缺失的代码(例如,如果不存在则添加默认值)。如果您要定期执行此操作或者模式更改特别昂贵,这是一个微妙但重要的区别。这Craigslist presentation (老了但很好)给出了一个很好的真实世界的例子来说明这种事情(随后还有一些人也在谈论随着时间的推移吸取的教训。

关于mongodb - 使用已在生产数据库中的数据进行数据库迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com