Алексей Овдиенко, и в Javascript тоже есть Set (в ES6). Вопрос в другом - как это (получение такого списка тегов) правильно делать с монгой, в какой момент собирать эти теги, где хранить их кэш, когда его обновлять и т.д. и т.п. В идеале бы реальный пример реального использования, где все это работает именно таким образом потому что так правильнее/лучше/быстрее чем другим.
AnneSmith, мне жаль, что мой комментарий вас задел, я ни в коем случае не хотел проявить невежливость или обидеть вас.
Вопрос создан именно в поисках лучшей практики для решения подобной задаче.
У нас с вами, если я правильно понял, опыта примерно по нулям. Ну может у меня даже чуть больше, так как я уже немного добрался до монги.
Очевидное решение с кэшем, я сразу указал на него и рад что наши мнения совпадают. Но это теория, если верная - хочется ещё услышать подтверждение от более опытных коллег.
Там же наверняка есть подводные камни.
Я могу попробовать (уже) и оно будет работать. Но у меня нет реального проекта с тысячами запросов, пользователей и документов, чтобы проверить на нем.
Может вообще есть другой способ решения задачи.
db.documents.createTagsCloud() какой-нибудь
50VAJJ: не знаю чему равны 3.5em в вашем случае.
Но даже если это 35px, то мне сложно представить насколько уродлив дизайн, что в нем требуется использовать такие гигантские элементы...
Ну в так - погуглите про адаптивный дизайн, media queries и т.д.
50VAJJ: О чем вы?
Стилизуйте сам селект как угодно, хоть большой, хоть маленький, хоть в красную полоску.
А вот выпадающая часть не стилизуется и остается такой как есть. Это удобный барабан на iOS для пользователей iPhone, или "облачко" на iPad.
Сидеть на 27" аймаке с браузером на весь экран и ожидать что все сайты будут под такое бешеное разрешение растягиваться - глупо.
Есть конечно отдельные варианты интерфейса, где это можно обыграть (больше плиток в строке и тд), но в целом в таких случаях владельцу аймака прописывается браузерный зум.