This seems a little convoluted to me, but I may just not be wrapping my head around Graph Database concepts fully. I also don't know how to constrain to, say, 10 revisions.
The other approach would be to have one document Item with a subdocument Revisions, and just push previous states into Revisions with a date/time. I lose my connection history this way, and I don't know that I like that. I don't know why I would need to do advance querying or traversals on previous revisions, but I would like to keep the option open unless there is a good reason not to.
Item {
'title': "Title',
'content': 'This is my new content',
'revisions': [
{
title: 'old title',
'content': 'old content'
'archived': date
},
{
title: 'older title',
'content': 'older content'
'archived': olderdate
}
]
}
The model becomes even more convoluted when thinking about autosaves for each item.
Is there a third option? Is the graph option too convoluted (potentially millions of items with at least 10 revisions each).
I really appreciate any thoughts or resources.