Как найти документы по startWith() в Futon

Я работаю с CouchDB и я должен найти документы, чье имя начинается с "5463"
У меня есть структура документа:

{_id: "018bdd61897af56d0b3c421d4dfb1a92", _rev: "1-b37c710c91450b93510f547194631aa0", тип: "active_matter", id: 177, имя: "3009/TR02", ismaster: true}

Так в Futon Я пытаюсь что-то вроде:

function(doc) {
    if (doc.ismaster == true &&  (doc.name).startsWith("5463")){  
        emit([doc.type], doc);
    }
}

но не результаты получены. Что я делаю не так?

1 ответ

Решение

Кажется, что CouchDB не поддерживает startsWith метод. Вместо этого используйте indexOf, с небольшим условным вы можете использовать его таким же образом.

Используя ваш пример:

function(doc){
  if(doc.ismaster && (doc.name.indexOf('5463') == 0)){
    emit([doc.type], doc);
  }
}

Это будет работать так же, как startsWith,

Другие вопросы по тегам