我正在使用mongodb
数据库,因此所有文档都是JSON
格式。我目前的任务是以某种方式跟踪document
更改的历史记录。我发现为此目的有一个公认的rfc 6902标准,但是如何在patch
中生成这样的数组差异(即差异= PHP
)?或者 - 我如何保留JSON的变更历史,可能使用其他标准或方法?
原始aproachis:想象一下,我们有一个更改的Array1。结果是array2。然后我使用上面提到的标准计算差异(补丁)并将其保存在mongodb的历史收集中。因此,我们只保存更改的内容而不是整个新数组。
我需要能够保存历史记录并在需要时将document
恢复到原始状态。这是我找到的页面:http://jsonpatch.com/
这导致PHP
的多个库(我使用的是版本7)。第一个库生成patch
(我正在寻找的差异JSON),但是这个lib也被打破到不能使用patch
的程度!
https://github.com/mikemccabe/json-patch-php
这些其他库正在使用patch
参数,但它们不会生成它!
https://github.com/xp-forge/json-patch
https://github.com/gamringer/JSONPatch
所以此时我没有别的选择。