Цепная карта / уменьшить в диванеDB
В couchDB у меня есть набор элементов, подобный следующему (упрощенный, например, ради):
{_id: 1, date: "Jul 1", user: "user1"}
{_id: 2, date: "Jul 2", user: "user1"}
{_id: 3, date: "Jul 3", user: "user2"}
...etc...
Я хотел бы получить список "самых последних действий", отсортированный по дате, без дубликатов пользовательских идентификаторов. Я могу создать представление с результатами, например, так:
{key: "July 3", _id: 3, user: "user2"}
{key: "July 2", _id: 2, user: "user1"}
{key: "July 1", _id: 1, user: "user1"}
но это содержит повторяющиеся записи для того же пользователя. Или я могу создать представление, которое отображает {ключ: пользователь, значение: дата} и уменьшает до
{key: "user1", mostRecentDate: "July 2"}
{key: "user2", mostRecentDate: "July 3"}
но это не отсортировано по «самым последним».
Я знаю, что очевидное решение - сокращение результатов другого представления не поддерживается.BigCouch поддерживает сцепленную карту / уменьшение, но, по-видимому, устарела / не поддерживается (последний выпуск 2012 г.).
Это кажется довольно распространенной проблемой - каковы некоторые существующие решения (помимо «переключения баз данных»)?