Основываясь на отличном ответе на мой предыдущий вопрос , я частично решил проблему с CouchDB.
Это привело к новому представлению .
Теперь, следующее, что мне нужно сделать, это удалить дубликаты из этого представления при упорядочении по дате.
Например, вот как я могу запросить это представление:
GET http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following?endkey=[%22c988a29740241c7d20fc7974be05ec54%22]&startkey=[%22c988a29740241c7d20fc7974be05ec54%22,{}]&descending=true&limit=3
В результате чего:
HTTP 200 http://scoates-test.couchone.com/follow/_design/asset/_view/by_userid_following
http://scoates-test.couchone.com > $_.json.rows
[ { id: 'c988a29740241c7d20fc7974be067295'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T17:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be062ee8'
, owner: 'c988a29740241c7d20fc7974be05f67d'
}
}
, { id: 'c988a29740241c7d20fc7974be068278'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T15:00:00.000Z'
, 'durian'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be065115'
, owner: 'c988a29740241c7d20fc7974be060bb4'
}
}
, { id: 'c988a29740241c7d20fc7974be068026'
, key:
[ 'c988a29740241c7d20fc7974be05ec54'
, '2010-11-26T14:00:00.000Z'
, 'clementine'
]
, value:
{ _id: 'c988a29740241c7d20fc7974be063b6d'
, owner: 'c988a29740241c7d20fc7974be05ff71'
}
}
]
Как видите, "клементина" появляется дважды.
Если я изменю представление, чтобы использовать имя фрукта / актива в качестве второго ключа (вместо времени), я могу изменить глубину группировки, чтобы свернуть их, но это не решает мое требование по времени. Точно так же с вышеупомянутой настройкой я могу упорядочить по времени, но я не могу свернуть повторяющиеся имена активов в одну строку (например, 10 ресурсов на страницу).
К сожалению, это не простой вопрос для объяснения. Возможно эта расшифровка чата немного поможет.
Пожалуйста, помогите. Боюсь, что то, что мне нужно сделать, по-прежнему невозможно.
S