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