我是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?});
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我如何告诉它包含所有修订?
我知道我可以调用 http:// localhost:5984/main/94c4db9eb51f757ceab86e4a9b00cddf
对于每个文档(来自我的应用程序),但实际上不能很好地扩展.
是否有批处理方式来获取修订信息?
任何帮助,将不胜感激!!
CouchDB修订版不是版本控制系统.它们仅用于确保写入一致性.(并防止在并发写入期间需要锁定)
话虽这么说,但只有最新的 _rev数字对任何给定的文档都有用.不仅如此,数据库压缩还将删除所有旧版本.(压实永远不会自动运行,但应该是日常维护的一部分)
您可能已经注意到,您的视图会在视图输出中输出最新的_rev数字value.此外,如果您正在使用include_docs=true,则该_rev数字也会显示在doc您的视图结果部分中.
有关使用CouchDB进行修订历史记录的策略,但它们通常很复杂,通常不建议使用.(查看此问题和此博客帖子,了解有关该主题的更多信息)