您能分享一下您的 idea 吗?您将如何在MongoDB中实现数据版本控制.(我已经问了similar question regarding Cassandra个问题.如果你有什么 idea ,请分享)
假设我需要在一个简单的地址簿中对记录进行版本设置.(地址簿记录存储为平面json对象).我希望历史:
- 将不经常使用
- 将一次全部使用,以"时间机器"的方式呈现
- 一张唱片的版本不会超过几百个.
我正在考虑以下方法:
-
创建新的对象集合以存储记录的历史记录或对记录的更改.它将 for each 版本存储一个对象,并引用地址簿条目.这些记录如下:
{ '_id': 'new id', 'user': user_id, 'timestamp': timestamp, 'address_book_id': 'id of the address book record' 'old_record': {'first_name': 'Jon', 'last_name':'Doe' ...} }
这种方法可以修改为存储每个文档的一系列版本.但这似乎是一种没有任何优势的较慢的方法.
将版本存储为附加到通讯簿条目的序列化(JSON)对象.我不知道如何将这些对象附加到MongoDB文档.也许是一组字符串.