2

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

我的数据有一个名为 的字段的记录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));

但结果是空的。

谢谢。

4

1 回答 1

3

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

尝试这个:

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

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

doc.serialNumber.slice(2,2)

于 2015-08-05T18:08:09.093 回答