我正在尝试显示我的某个属性的子字符串值的结果。
我的数据包含一个名为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));
但结果又回来了。
感谢。
答案 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)