你能分享一下你的想法吗?你将如何在MongoDB中实现数据版本控制? (我问过关于Cassandra的类似问题,如果你有任何想法,哪个db更好,请分享) 假设我需要在一个简单的地址簿中logging版本。 (地址簿logging存储为扁平json对象)。 我期望的历史: 将很less使用 将被一次全部使用,以“时间机器”的方式呈现 不会有更多的版本比几百到一个单一的logging。 历史不会过期。 我正在考虑以下方法: 创build一个新的对象集合来存储logging的历史logging或更改logging。 它将在每个版本中存储一个对象,并引用地址簿条目。 这样的logging看起来如下: { '_id':'new id', 'user':user_id, '时间戳':时间戳, 'address_book_id':'地址簿logging的ID' 'old_record':{'first_name':'Jon','last_name':'Doe'…} } 这种方法可以修改为每个文档存储一个版本的数组。 但是这似乎是没有任何优势的较慢的方法。 将版本存储为附加到地址簿条目的序列化(JSON)对象。 我不确定如何将这些对象附加到MongoDB文档。 也许作为一个string的数组。 ( 使用CouchDB进行简单文档版本控制后进行build模 )