想象一下,您希望将修订号用作数据库中文档的状态标志。修订版1用于“原始”文档,修订版2用于某个“已处理”状态,依此类推。那么,您想要的只是检索具有修订版1的文档,以便它们可以“处理”并转到修订版2。 有一种明显的方法,创建一个从文档中的_rev字段中提取修订版号的视图,如
function(doc) {
var rev = doc._rev.split("-");
emit( rev[0], doc);
}
然而,这意味着使用一个视图,并且_rev是内置的,是不是使用_all_docs批量检索文档的直接方式?
答案 0 :(得分:1)
我建议不要为此目的滥用CouchDB修订版。一些要点:
我建议添加一个表示文档处理阶段的特定属性。另一种方法可能是为每个阶段创建专用的处理数据库。因此,可以通过相应数据库的_all_docs
来请求特定阶段中的所有文档。根据您的使用情况,您可以在将文档添加到下一个处理数据库后将其删除。