栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在MongoDB中实现数据版本控制的方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在MongoDB中实现数据版本控制的方法

深入探讨这个问题时,第一个大问题是“您如何存储变更集”?

差吗?
完整记录副本?
我个人的方法是存储差异。因为这些差异的显示确实是一个特殊的动作,所以我会将差异放入另一个“历史”集合中。

我将使用其他集合来节省内存空间。通常,您不希望简单查询的完整历史记录。因此,通过将历史记录保留在对象之外,您还可以在查询该数据时将其保留在通常访问的内存之外。

为了使我的生活更轻松,我将使历史文档包含带有时间戳记的差异字典。像这样:

{    _id : "id of address book record",    changes : {      1234567 : { "city" : "Omaha", "state" : "Nebraska" },     1234568 : { "city" : "Kansas City", "state" : "Missouri" }    }}

为了使我的生活变得真正轻松,我将把这一部分用于访问数据的DataObjects(EntityWrapper,无论如何)。通常,这些对象具有某种形式的历史记录,因此您可以轻松地覆盖save()方法以同时进行此更改。

更新:2015-10

看起来现在有了处理JSON差异的规范 。这似乎是存储差异/更改的更可靠的方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号