我正在使用nodejs在couchdb上工作,我要求我的文档只添加一次。我认为我的文档中不需要_rev标记。由于_rev值是长字符串而我的数据非常小,因此会增加很大的开销,最终会增加大文档的大小。我知道它是couchdb不可或缺的一部分,但在一些典型情况下它变得多余。 注意我也知道couchDB使用多版本并发控制(MVCC)。
我的观点很简单:
我可以输入
" _id":" 001" "值":" 12"
" _id":" 002" "值":" 23"
没有" _rev":" 1-8b0b70974c6dd43edf4e07f12a9655af"
答案 0 :(得分:1)
如果您不希望在下载文档时传输_rev
属性,则始终可以使用here转换文档的JSON以排除此属性:
function (doc, req) {
delete(doc._rev)
return { json: doc }
}
这意味着您必须使用show function而不是直接获取文档,但您可以使用此方法应用其他特定于域的优化。
答案 1 :(得分:1)
在CouchDB中禁用修订是不可能的。修订是数据库的组成部分。如果您确定不想要它们,那么您可能想要使用其他数据库但是如果您使用Mongo则会存储修订版。但是这样看:如果你要求你的文件永远不会改变那么你将如何保证?修订似乎是一个完美的功能,以确保您的文档永远不会改变。不仅因为您可以阅读它们,而且因为如果您从未使用它们,那么您将无法更新任何需要更新的先前版本的文档。