在MongoDB中实现数据版本控制的方法
您能否分享一下您如何在MongoDB中实现数据版本控制?(我问过关于Cassandra的类似问题。如果你有任何想法,哪个数据库更好,请分享)
假设我需要在简单的地址簿中对记录进行版本控制。(地址簿记录存储为平面json对象)。我期待历史:
将很少使用
将一次性使用以“时间机器”的方式呈现它
单个记录的版本不会超过几百个。历史不会过期。
我正在考虑以下方法:
创建新的对象集合以存储记录的历史记录或对记录的更改。它将为每个版本存储一个对象,并引用地址簿条目。这些记录如下:
{ '_id':'新id', 'user':user_id, 'timestamp':时间戳, 'address_book_id':'地址簿记录的ID' 'old_record':{'first_name':'Jon','last_name':'Doe'......}}
可以修改此方法以存储每个文档的版本数组。但这似乎是没有任何优势的较慢的方法。
将版本存储为附加到通讯簿条目的序列化(JSON)对象。我不确定如何将这些对象附加到MongoDB文档。也许是一个字符串数组。(使用CouchDB进行简单文档版本控制后建模)
梵蒂冈之花
回首忆惘然
相关分类