Couchbase 视图查询

Couchbase views query

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

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

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

有什么指点吗?

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

此外,不是所有文档都有 meta.id 吗?测试它似乎很奇怪...

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

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

注意下面

if(doc.studentId...

如果定义了 studentId

将 return 为真,否则为假。