Jac*_*ter 8 revision couchdb version
在我的问题之后,我正在探讨在CouchDB中文档版本控制的通用方法的想法.虽然我想可能没有规范方法,但我有以下想法并且正在寻找反馈.
我希望尽可能保持可读的文档ID,因此存在的文档document1将包含指向系统上所有现有版本的指针文档.实际的修订文件,将在像document1/308ef032a3801a这里
308ef032a3801a是一些随机数或哈希值.
指针文件
{
"_id" : "document1",
"versions" : [ "document1/308ef032a3801a" ]
}
Run Code Online (Sandbox Code Playgroud)
版本文件
{
"_id" : "document1/308ef032a3801a",
... actual content
}
Run Code Online (Sandbox Code Playgroud)
将旧版本的文档保留在当前版本中更为常见(作为JSON或通常作为附件).对于JSON案例;
{
"_id":"foo",
"_rev":"3-fsfsfsdf",
"foo":"current value of foo",
"history": {
"2": {
"foo":"previous version of foo"
},
"1": {
"foo":"initial version of foo"
}
}
}
Run Code Online (Sandbox Code Playgroud)
显然这会使事情变得混乱,这就是为什么将文档的完整旧版本推送到附件中通常更简单.这种模式很常见,CouchDB附带了一个库jquery.couch.js,它实现了它(在saveDoc(doc)函数中).
| 归档时间: |
|
| 查看次数: |
1996 次 |
| 最近记录: |