Couchbase查看查询

时间:2015-10-21 18:33:13

标签: couchbase couchbase-view

我有一个过滤掉数据的视图。我想在我的搜索条件中添加一个检查=>如果文档中不存在某个字段,请不要考虑该文档。

以下是我的观看代码, studentId 可能不会出现在所有文档中。

function (doc, meta) {
   if(meta.id && meta.id.indexOf("DOCUMENT_") == 0 && doc.studentId != null) {
   emit([doc.studentId, doc.studentStatus, doc.studentName], null);
  }
}

任何指针?

2 个答案:

答案 0 :(得分:2)

在您的代码中,只需使用您之前在if语句中使用的相同语法:

if(doc.studentId && meta.id && meta.id.indexOf("DOCUMENT_") == 0) ...

请注意以下

  如果

(doc.studentId ...

如果studentId 已定义

将返回true,否则为false。

答案 1 :(得分:0)

只是一个很小的优化 - 如果存储桶中的许多文档都缺少它,您可能希望将doc.studentId移至条件的开头。

另外,所有文档都没有meta.id?测试它似乎很奇怪......