Мне нужно выполнить управление версиями на (простых) графиках объектов Java, хранящихся в документально-ориентированной базе данных (MongoDB). Для реляционных баз данных и Hibernate я обнаружил Envers и очень поражен возможностями. Есть ли что-то подобное, которое можно использовать с Spring документами данных?
Я нашел этот пост, в котором излагались мысли, которые у меня были (и многое другое...) о хранении версий объектов, и моя текущая реализация работает аналогично тем, что хранит копии объектов в отдельной коллекции истории с меткой времени, но я хотел бы улучшить это, чтобы сэкономить место для хранения. Поэтому, я думаю, мне нужно реализовать операцию "diff" для деревьев объектов и операцию "слияния" для восстановления старых объектов. Есть ли там библиотеки, помогающие с этим?
Edit: Любой опыт работы с MongoDB и версией высоко ценится! Я вижу, скорее всего, не будет решения Spring Data.