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 为真,否则为假。
我有一个视图可以为我过滤掉数据。我想在我的搜索条件中添加一个检查 => 如果文档中不存在某个字段,请不要考虑该文档。
这是我的查看代码,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) ...
注意下面
如果定义了 studentId ,if(doc.studentId...
将 return 为真,否则为假。