是否有理由改变CouchDB / PouchDB的修订算法'使用区块链样式' hashchain'这样每个文档的_rev都是它之前版本的哈希的结果?
这种模式有助于保持修订的完整性;例如,在分布式网络中,它可能基本上是整个数据库的不可变历史记录的基础。
答案 0 :(得分:1)
事实上,_rev 是文档及其所有修订版的确定性哈希,至少对于CouchDB而言。它还使用了之前的_rev,因此如果对文档进行相同的更新序列,则基本上可以获得确定性散列。
不幸的是,它是一个MD5哈希,所以它并不适合与安全相关的东西。
AFAIK,永远不会检查_rev的实际值,只有破折号前面的部分必须是数字。所以你可以编写一个改变_rev生成的PouchDB插件,并在每次更新时检查_rev值的完整性。