Функция substr кушетки для результатов

Я пытаюсь отобразить результаты значения подстроки одного из моих свойств.

В моих данных есть записи с полем с именем 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));

Но результаты возвращаются пустыми.

Спасибо.


person Ivan Orozco    schedule 05.08.2015    source источник


Ответы (1)


Функция emit принимает 2 параметра: ключ и значение. Вы не можете выдать 3, но вы можете сгруппировать свои 2 значения в список и выдать это:

попробуй это:

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

Также: я обычно использую функцию slice(y,x). Как в:

doc.serialNumber.slice(2,2)

person FuzzyAmi    schedule 05.08.2015