система тегов на MongoDB

Можно ли из документов вида
{...,
    tags: ['php','nosql',...]
}


… выбирать все уникальные значения массива tags одним запросом?
  • Вопрос задан
  • 3369 просмотров
Пригласить эксперта
Ответы на вопрос 3
sadist007
@sadist007
http://www.mongodb.org/display/DOCS/MapReduce — пример Shell Example 2 похож на то, что Вам надо.
Ответ написан
rumkin
@rumkin Автор вопроса
Всем спасибо!

После поиска наткнулся на совет от авторов Mongo:
cookbook.mongodb.org/patterns/count_tags/

sadist007 > да похоже на то, спасибо. В примере по приведенной мной выше ссылке таблица потом не удаляется, т.е. создается постоянная таблица, которая обновляется при каждом добавлении тега. Поняв принцип, могу предложить такой вариант:
при каждом добавлении-удалении добавлять/удалять теги из этой таблицы и раз в N-ый промежуток времени делать map-reduce для пересчета, для точности.

Теперь возник следующий вопрос: как выбирать посты по тегу? Опять же Map/Reduce'ом? Не слишком ли долго?
Ответ написан
taliban
@taliban
php программист
TimTowdy выше правильно сказал: хотите уникальности — храните как хеш
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы