CouchDB如何从视图中排除文档



我有一个CouchDB视图来返回符合特定条件的所有文档。我还对同一个数据库运行了"all_docs">。在这种特殊情况下,我的View返回845个文档,而all_docs返回1127个文档。

有没有一种方法可以对视图进行编码,从而有效地执行相反的操作,并返回所有不符合我指定标准的文档?由于我的DB总共包含1127个文档,而我的View包含845个文档,我如何识别282个差异?

您可以有两个视图,也可以有一个视图。

单一视图(人)

function(doc){
var matchMyCriteria = doc.type ==="person";
emit(matchMyCriteria);
}

如果我想要"人"类型的每个文档文档,我会查询:

_design/docname/_view/by_person?key="true">

如果我想要每隔一个文档

_design/docname/_view/by_person?key="false">


双视图(人)

function(doc){
if(doc.type == "person")
emit(doc.id);
}

无人

function(doc){
if(doc.type != "person")
emit(doc._id);
}

最新更新