После долгой борьбы с идеей ранжирования записей я, наконец, остановился на числовых показателях для своих документов, которые я выбрал, чтобы отсортировать их по этим показателям.
Теперь эти числа имеют значение, гдеПервые 2 цифры представляют определенный тип документа.
Поэтому, чтобы получить документы типа 22, отсортированные по их оценкам, я просто запрашиваю представление с ключом начала, равным 220000, и ключом конца, равным 229999
* 1006.* Это все замечательно и работает, мои проблемы возникают, когда я пытаюсь использовать перезапись URL.
Я в основном пытаюсь перенаправить:
/_rewrite/rankings/{doctype}
на
/_list/rankings?startkey=xx0000&endkeyxx9999
где xx - это {doctype}
Моя проблема связана с указанием правила перезаписи:
[
{ "from":"rankings/:doctype",
"to":"_list/rankings",
"query": ??? //what will this be?
]
Как создать начальный и конечный ключи, добавив 0000и 9999 соответственно?
как мне указать числовое значение?поскольку использование заполнителя ": doctype" приведет к строковому типу, а не к числовому типу, что приведет к неудачному запросу, даже если бы я изменил свой симпатичный URL-адрес для ввода ключей начала и конца.
Я обошел проблему, отфильтровав результаты в моем представлении списка (игнорируя документы, которые мне не интересны из getRow ()), мое беспокойство здесь, стоит ли мне беспокоиться об эффективности функции спискасейчас?
не стесняйтесь комментировать также мою стратегию сортировки ... было бы интересно узнать, как другие решали свои проблемы сортировки и нарезки с помощью couchdb