Предположим, у меня есть таблицы (с примерами данных):
story
{id: 1, name: 'First Story', tags: ['plants', 'flowers']}
{id: 1, name: 'Second Story', tags: ['flowers', 'wedding']}
tag
{id: 'plants'}
{id: 'flowers'}
{id: 'weddings'}
Таблица истории имеет мультииндекс в поле тегов.
Теперь, как мне сделать запрос, который дает количество историй, которые есть у каждого тега (чтобы его можно было отобразить как облако тегов). Бывший:
{"plants": 1, "flowers": 2, "wedding": 1}
или это может быть в формате:
[{id: "plants", count: 1}, {id: "flowers", count: 2}, {id: "wedding", count: 1}]
И делать это эффективно, когда таблица с сотнями тысяч историй и сотнями тегов быстро выполнит запрос?