Docs 菜单
Docs 主页
/
MongoDB Manual
/ /

文档和模式版本控制

在此页面上

  • 用例
  • 任务
  • 了解详情

模式可能需要随时间推移而更改,以应对不断变化的技术要求。当模式发生更改时,可以使用架构设计模式来保留原始文档结构。通过保留文档和模式的历史版本,您可以避免性能密集型的模式迁移和停机。

当数据需求发生变化并且您希望将历史数据保留为原始形式时,请使用版本控制模式。 当您的应用程序满足以下任何条件时,版本控制模式最有用:

  • 应用程序停机不是迁移的选项。

  • 将文档更新到新模式可能需要数小时、数天或数周才能完成。

  • 不需要将文档更新到新模式。

版本控制模式可帮助您决定如何进行数据迁移,并提供比表格数据库更高的灵活性。

对于版本控制模式,请考虑以下特定应用程序使用案例:

  • 一家保险公司允许客户修改保单,为更多项目投保。当客户更改保单时,保险公司会记录保单随时间的变化。该公司使用文档版本控制模式将每项更新存储在单独的文档中,以便跟踪政策修订。历史数据存储在单独的集合中,不会影响对当前数据的查询。

  • 某公司存储客户联系信息。 在原始模式中,各种联系方法(例如 homePhonecellPhoneemail存储在各个字段中。 随着时间的推移,拥有homePhone号码的客户越来越少,因此该公司修改了模式,将联系信息转移到具有可变子字段的通用contacts文档中。 模式更改后,该公司实施模式版本控制模式,并添加schemaVersion字段来告诉应用程序应如何查询每个文档。

要了解如何保存文档和模式变更的历史记录,请参阅以下页面:

  • 保留文档版本历史记录

  • 维护不同的模式版本

后退

继承模式