couchbase substr函数用于结果

时间:2015-08-05 17:26:36

标签: couchbase substr couchbase-view

我正在尝试显示我的某个属性的子字符串值的结果。

我的数据包含一个名为serialNumber的字段的记录,我有一个这样的视图,它会返回字段中包含“XY”的记录:

function (doc, meta) {
if (doc.serialNumber.indexOf("XY") > -1
    && doc.online
   )
   {
      emit(meta.id, doc.online);
   }
}

我希望在结果中显示的是serialNumber的第三和第四个字符。我试过这个:

var prefix = SUBSTR(doc.serialNumber,2,2);
emit(meta.id, doc.online, prefix);

而且:

emit(meta.id, doc.online, doc.serialNumber.substr(2,2);

还有这个:

emit(meta.id, doc.online, SUBSTR(doc.serialNumber,2,2));

但结果又回来了。

感谢。

1 个答案:

答案 0 :(得分:3)

emit函数有2个参数:key和value。你不能发射3 - 但你可以将你的2个值分组到一个列表中并发出:

试试这个:

  

emit(meta.id,[doc.online,doc.serialNumber.substr(2,2)]);

另外:我通常使用切片(y,x)函数。如:

  

doc.serialNumber.slice(2,2)