我对CouchDB很新。缺少SQL。
无论如何,我需要创建一个视图,它会发出我的文档的一些属性以及所有修订ID。
像这样的东西
function(doc) {
if (doc.type == 'template') {
emit(doc.owner, {_id: doc._id, _rev: doc._rev, owner: doc.owner, meta: doc.meta, key: doc.key, revisions_ids: What goes here?});
}
}
但是如何告诉它包含所有修订版?
我知道我可以打电话 http://localhost:5984/main/94c4db9eb51f757ceab86e4a9b00cddf
每个文档(来自我的应用程序),但实际上不能很好地扩展。
是否有批量方式来获取修订信息?
任何帮助都将不胜感激!!
答案 0 :(得分:6)
CouchDB修订不旨在成为版本控制系统。它们仅用于确保写入一致性。 (并防止在并发写入期间需要锁定)
话虽如此,只有最新的 _rev
号对任何给定的文档都有用。不仅如此,数据库压缩还将删除所有旧版本。 (压缩永远不会自动运行,但应该是日常维护的一部分)
您可能已经注意到,您的视图会在视图输出的_rev
中输出最新的value
个数字。此外,如果您使用的是include_docs=true
,则_rev
号码也会显示在您的观看结果的doc
部分。
将CouchDB用于修订历史记录的策略确实存在,但它们通常很复杂,通常不建议使用。 (查看this question和this blogpost了解有关该主题的更多信息)