couchdb显示基础文档在视图中的冲突

时间:2017-03-24 14:46:58

标签: couchdb views conflict

我想使用视图来计算更大文档的摘要。 视图生成的每个文档都对应一个源文档。 视图输出用于填充UI中的表,单击表的一行可打开更大的文档。 如果基础文档中存在冲突,我希望将其显示在表格行中,以便用户可以打开完整文档并解决冲突。 如何有效地获取表中显示的冲突? (基础文档的所有冲突)

由于

1 个答案:

答案 0 :(得分:1)

您可以在视图参数中使用conflict选项以及include_docs。您可以找到more info about view params in the CouchDB docs

E.g。 http://localhost:5984/mydatabase/_design/documents/_view/posts?conflicts=true&include_docs=true将属性_conflicts添加到每个有冲突的文档中。

专业提示:在这种情况下,您无需在视图中发出整个文档,因为include_docs参数无论如何都会返回完整的文档。

另一种可能性是发出_conflicts属性本身。你可以这样做:

function (doc) {
  if (doc._conflicts) emit(doc._id, doc._conflicts);
}

这是一个只查找有冲突的文档的便捷视图。