文档和模式版本控制
模式可能需要随时间推移而更改,以应对不断变化的技术要求。当模式发生更改时,可以使用架构设计模式来保留原始文档结构。通过保留文档和模式的历史版本,您可以避免性能密集型的模式迁移和停机。
用例
当数据需求发生变化并且您希望将历史数据保留为原始形式时,请使用版本控制模式。 当您的应用程序满足以下任何条件时,版本控制模式最有用:
应用程序停机不是迁移的选项。
将文档更新到新模式可能需要数小时、数天或数周才能完成。
不需要将文档更新到新模式。
版本控制模式可帮助您决定如何进行数据迁移,并提供比表格数据库更高的灵活性。
对于版本控制模式,请考虑以下特定应用程序使用案例:
一家保险公司允许客户修改保单,为更多项目投保。当客户更改保单时,保险公司会记录保单随时间的变化。该公司使用文档版本控制模式将每项更新存储在单独的文档中,以便跟踪政策修订。历史数据存储在单独的集合中,不会影响对当前数据的查询。
某公司存储客户联系信息。 在原始模式中,各种联系方法(例如
homePhone
、cellPhone
和email
存储在各个字段中。 随着时间的推移,拥有homePhone
号码的客户越来越少,因此该公司修改了模式,将联系信息转移到具有可变子字段的通用contacts
文档中。 模式更改后,该公司实施模式版本控制模式,并添加schemaVersion
字段来告诉应用程序应如何查询每个文档。
任务
要了解如何保存文档和模式变更的历史记录,请参阅以下页面: