CouchDB布尔过滤

时间:2017-06-26 15:37:24

标签: couchdb couchbase-lite couchdb-futon

我正在尝试使用CouchDB filtering,但我无法理解它是如何运作的

让我们说,就像他们的例子一样:

function(doc, req){
    // we need only `mail` documents
    if (doc.type != 'mail'){
        return false;
    }
    // we're interested only in `new` ones
    if (doc.status != 'new'){
        return false;
    }
    return true; // passed!
}

我有点困惑,因为如果我只想回来

  

邮件文件

我想我应该实现类似的东西:

 if (doc.type == 'mail'){
        return true;
    }

最后我们有

  

return true //传递

但是,这是否意味着我将归还我拥有的所有文件?

1 个答案:

答案 0 :(得分:1)

该示例不仅仅过滤邮件文档,还要求它们是新的。没有"新文件检查"你也可以把代码写成

function(doc, req){
  // we need only `mail` documents
  if (doc.type == 'mail') {
    return true;
  }

  return false;
}

然而,原始的整个逻辑正在实现(在伪代码中)

if (!mail document or !new document) then false
else true