Сортировка дат в представлениях CouchDB - PullRequest
8 голосов
/ 23 января 2011

У меня есть вложенный объект JSON для ключа status ниже:

{<br> "2011-01-19 09:41:00 AM": "Prototyping status application",<br> "2011-01-20 09:41:00 AM": "Playing with CouchDB"<br> }

Это небольшое приложение, в котором пользователь может ввести свой статус.Я хочу получить самый последний статус от этого.Этот подход хорош для таких приложений, или у меня должен быть ключ, который определяет порядок сортировки?

Какой самый лучший способ получить самую последнюю дату?

Спасибо

1 Ответ

15 голосов
/ 23 января 2011

Используйте просмотр параметров сортировки и выдайте сложный ключ.

Если вы сначала хотите отсортировать по пользователю, то по времени используйте это в качестве ключа. Если вы хотите отсортировать только по времени, пропустите имя пользователя в качестве ключа.

Если вы используете значения в стиле даты:

emit([Date.parse(doc.created_at).getTime(), doc.username], doc);

Если вы используете формат даты, который уже можно сортировать лексикографически:

emit([doc.created_at, doc.username], doc);
...