Запрос для получения документов, упорядоченных по возрастанию key1 и нисходящему key2 с использованием CouchDB - PullRequest
3 голосов
/ 30 ноября 2011

Как я могу получить документы, упорядоченные по key1 (по возрастанию) и key2 (по убыванию) в виде?

1 Ответ

1 голос
/ 30 ноября 2011

Очень интересный вопрос, единственный ответ, который я могу придумать, - написать функцию карты, которая выдает в качестве ключа массив, содержащий ключ asc и «противоположность» ключа desc:

emit([doc.ascKey, opposite(doc.descKey)], doc);

противоположная функция должна выполнять итерацию символов клавиши desc, чтобы вычислить их «алфавитную противоположность»;для простоты в ASCII это будет что-то вроде этого фрагмента псевдокода:

var oppositeStr = "";
for (char in str) {
  oppositeStr += chr(255 - char);
}

Мое решение просто умозрительно, но также может работать!Может быть, у кого-то есть идея получше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...