2017-01-22 9 views
1

Если бы я должен был сделать запрос GET, я бы что-то вроде:Как запросить сложный ключ в pouchDB?

https://myserver.com/sometestdb/_design/sortJob/_view/index?limit=100&reduce=false&Клавишапуска = [ "job_price"] & EndKey = [ "job_price", {}]

Для отображения запроса как:

function(doc) { 
    if (doc.data.type === "job") { 
     emit(["job_ref", doc.data.ref], null); 
     emit(["job_price", doc.data.price], null); 
    } 
} 

Как бы я повторить запрос с использованием pouchDb query? Я попробовал несколько вещей вокруг начала и конца ключей, но не повезло:

{ 
    include_docs: true, 
    startkey: 'job_price', 
    endkey: 'job_price,{}' 
} 

{ 
    include_docs: true, 
    startkey: 'job_price', 
    endkey: 'job_price\uffff' 
} 

Оба возвращают 0 результатов, тогда как ссылку я использую дает ожидаемые результаты.

Примечание: я могу подтвердить, что данные присутствуют в моем pouchDB, поскольку я запросил его с помощью плагина pouch-find, но я пытаюсь использовать различные методы, чтобы увидеть, что быстрее.

EDIT: В соответствии с complex keys section в документации, я должен быть в состоянии сделать следующее:

{ 
    include_docs: true, 
    startkey: '[\'job_price\']', 
    endkey: '[\'job_price\',{}]' 
} 

Но это приводит:

Нет строк может соответствовать вашей ключевой диапазон, обратный ваш start_key и end_key или установите {спуск: истина}

Но я должен уметь получать такие результаты d не хочу descending: true.

ответ

3

Итак, это было мое чтение документации, которая была выключена.

При создании запуска/завершения вызова, необходимо передать массив, не передать массив в виде строки (который я думал pouchDB тогда eval «d

Это рабочий вопрос:.

{ 
    include_docs: true, 
    startkey: ['job_price'], 
    endkey: ['job_price', {}] 
} 

Публикация этого ответа, а не удаление вопроса, поскольку это может помочь кому-то еще.

 Смежные вопросы

  • Нет связанных вопросов^_^