问题标签 [document-versioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
16 浏览

file - 文件版本大小

我想知道使用文件版本控制是否需要更多空间。

文件版本控制是否会保留多个副本,所以多次保存同一个文件(修改版)

我的意思是如果我修改文件 A 2.856 mb 变成 4.258 mb,那么这个文件的使用空间大小会是 7.114 mb 吗?

谢谢

0 投票
1 回答
476 浏览

mongodb - MongoDB聚合查询运行很慢

我们在 Mongodb 中对我们的大部分集合进行版本控制。选择的版本控制机制如下:

因此,当我们执行查询时,我们总是需要以这种方式使用聚合框架来确保获取对象的最新版本:

这种方法的问题是,一旦你完成了分组,你在内存中有一组与你的集合无关的数据,因此你的索引不能被使用。

因此,您的集合拥有的文档越多,查询速度就越慢。

有什么办法可以加快这个速度吗?

如果没有,我会考虑转向这篇好文章中定义的一种方法:http ://www.askasya.com/post/trackversions/

0 投票
1 回答
29 浏览

database - 如何创建一个列来标识文档是否是 SharePoint 中的最新文档?

我在 SharePoint 中有一个库,用于上传公司文档。文档的标题中已经包含版本号。所以想在库中创建一个列,通过指示“是”或“否”来指示特定文档是否是最新版本。

0 投票
0 回答
204 浏览

php - 支持版本控制的 PHP 最佳 ODM 解决方案

我们正在计划开发基于 PHP 的 CMS。我们正在评估使用一些开源 ODM 框架的可能性。我们对文档版本控制功能特别感兴趣。

PHPPCR 我们在 Doctrine 方面拥有强大的专业知识,因此 Doctrine 插件支持的 PHPCR 可以是一个很好的候选人。但是要获得版本控制支持,我们必须使用 Apache Jackrabbit。

PHP-MONGO 替代方案可以使用 PHP-MONGO,一个基于 MongoDB 的 PHP ODM,支持文档版本控制。

我们正在寻找对此解决方案或其他支持版本控制的基于 PHP 的 ODM 提案的意见和支持/控制?

0 投票
1 回答
442 浏览

c# - 从 SP 2010 文档库中获取文档的最新签入版本(文档)

我有一个在 SharePoint 2010 中启用了版本控制的文档库。我想获取已签入的文件,对于任何签出文件,我需要获取其最新的签入版本(文档)。我在 SharePoint 2010 上使用 c# 服务器端对象模型。有人可以帮帮我吗?

0 投票
0 回答
174 浏览

php - 强制来自 CDN 的未缓存资源

我的工作使用 Akamai 作为其营销网站的 CDN。当通过域访问站点时,通常会更改缓存在 CDN 上的 css 或 js 文件。

我们遇到的问题是,即使使用了版本字符串,这些文件的更新版本也不会通过 CDN 提供。

例如,

/js/scripts.min.js?201801041618

尝试通过 CDN(域)访问时,更新后仍会提供此文件的旧版本。

通过直接端点(域指向的地方)访问站点时,会加载文件的最新版本。

一种选择是手动从 Akamai 清除文件,但这很麻烦且不可扩展。

我们使用的是 Symfony 4 PHP 7.2 - 除了版本字符串,是否有一些服务器端解决方案表明必须从它的源而不是从缓存中提供特定文件?

0 投票
0 回答
329 浏览

amazon-web-services - S3 版本控制:仅文件级版本控制是否可行,它是否可以识别文件格式以进行智能差异计算?

如果正确,S3 提供存储桶级别的版本控制。但是,如果我只需要对存储桶中的几个特定文件进行版本控制,是否有可能。
此外,它是否应用任何二进制/文本差异策略(如 git、svn)来保存这些文件版本,或者它只是完整地保存每个版本。

0 投票
1 回答
42 浏览

mapreduce - CouchDB 视图每个键减少一个文档

我正在尝试使用 couchDb 视图解决看似相当简单的问题,但我的结果集甚至没有接近目标。

我没有更新文档,而是每次都创建一个新文档作为我的版本控制策略,并将这些文档与一个名为ver. 版本链中的第一个文档将看到具有相同值的ver字段和字段。_id链中的所有后续文档将具有与链ver中先前文档相同的字段,但将具有唯一的_id字段。这些文档也有一个createdTime字段,我可以通过该字段了解哪个文档是最新的。

这是我的文件:

这是我的地图功能:

这是我的减少功能:

最后,这是我想要的视图输出(只是我想要的文档):

我在这里想念什么?reduce 函数返回两条记录,这不是我想要的。我正在努力实现的目标是可能的,还是有更好的方法来解决这个问题?

更新

当使用单个键访问视图时,我能够让它工作,这是我的用例之一。

但是,我还有另一个用例将返回视图中的所有数据。所需的结果与上面相同,但我用于单个键的函数将只返回一个结果。如何使用共享键过滤多个值,例如 1 个“共享”键:n 值 -> 1 个键:1 值。

0 投票
1 回答
117 浏览

c++ - 如何在数据库中实现对象的多个版本

我正在开发一个将专有对象存储在数据库中的程序(作为 BLOB)。我们想添加版本控制功能(因此用户可以使用时间戳等存储对象的多个版本)。

一种方法是使用数据库并将对象中的每个版本存储在单独的 BLOB 中。

另一种方法是将对象的所有版本保存在单个 BLOB 中。在这种情况下,我需要提供一些版本控制机制。我不想从头开始为这个任务开发代码。周围有很多版本控制系统,但我正在尝试找到一个库或 C++ 代码来让我执行一些非常简单的任务:

  1. 高效存储增量
  2. 快速访问修订列表
  3. 能够提取、替换和添加修订

我使用 Embarcadero 的 C++ Builder。

关于如何将简单的修订处理机制嵌入到代码中的任何建议?

0 投票
0 回答
154 浏览

java - 使用 Spring Boot 的 MongoDB 复杂对象版本控制

我正在尝试确定进行 mongodb 对象版本控制的最佳方法。

基于mongodb 文档版本控制模式,建议将修订存储在历史集合中,并将当前版本存储在主集合中。据此,每个修订版都包含完整的对象,而不是存储差异。

然后我介绍了在 mongoDB中实现数据版本控制的方法,它推荐了一种方法来存储单个文档,其中包含其中的所有修订,并具有单独的历史集合。

因此,由于其复杂性,我正在尝试为以下文档模型实现我自己的对象版本控制实现。

发票.java

BodyModel.java

ReviewModel.java

项目模型.java

ER图(简化)

在此处输入图像描述

目前,我正在使用Javers library。但是,Javers 将 Invoice 模型作为主要实体,将 BodyModel、ReviewModel、ItemModel 等其他模型作为单独的 valueObjects。因此,它不是创建单个修订文档,而是为 valueObjects 创建单独的文档。此外,它总是从基础版本加上所有导致巨大读取时间的更改构造当前对象。此外,我还发现了valueObjectsjavers 附带的一个问题。请参阅此问题以获取更多信息:MongoDB 文档版本更新问题与 JaVers

以下是问题,如果我要使用 Spring Boot 创建自己的实现,我会考虑。

  1. 如果我要在 mongoDB 时将revisionId放在每个修订中(如下面的对象所示)save(),我如何找到要包含的当前 revisionId ?

为此,我可以在 InvoiceModel 中保留一个 revisionId 字段,可以在保存到主集合时进行更新。同时,它可用于将修订保存到历史收藏中。在这种情况下,这是最好的方法吗?

  1. 如果我只打算存储差异,那么如何获取对象的当前版本?

为此,必须从主集合中获取当前对象,然后将其与新版本进行比较(我已经有了新版本,因为这就是我要存储在主集合中的内容)以创建差异。然后 diff 可以存储在历史集合中,新版本可以存储在主集合中。这是存储差异的最佳方式吗?

在这两种情况下,来自 AOP 的切面都可以用来拦截save()基础存储库的方法来完成任务。但是我主要不考虑编码实现细节,我想知道哪种方法或哪些方法可以有效地存储上面给出的数据模型的修订版(也想讨论我提到的方法)?