保存 JSON 文档更改历史记录的方法

Ale*_*lex 5 php json mongodb

我正在使用mongodb数据库,因此所有文档都是JSON格式的。我当前的任务是以某种方式跟踪变化的历史document。我发现有一个公认的rfc 6902标准用于此目的,但是如何patch在 中生成这样的数组差异(即 Difference = )PHP?或者 - 我如何保留 JSON 更改历史记录,也许使用其他标准或方法?

原始方法:假设我们有一个已更改的 Array1。结果是数组2。然后我使用上述标准计算差异(补丁)并将其保存在 mongodb 的历史集合中。因此,我们只保存更改的内容,而不保存整个新数组。

我需要能够保存历史并document在需要时恢复到原始状态。这是我找到的页面: http: //jsonpatch.com/

这导致了多个库PHP(我使用的是版本 7)。第一个库生成(我正在寻找的差异 JSON),但是这个库也被破坏到无法使用的patch程度!patch

https://github.com/mikemccabe/json-patch-php

这些其他库正在使用patch参数,但它们不会生成它!

https://github.com/xp-forge/json-patch

https://github.com/gamringer/JSONPatch

所以此时我没有其他选择。