Как найти документы по 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
,