Проблема с группой в том, что она этого не сделает. Он просто возвращает массив всех групп.
Вы можете использовать карту / уменьшить для решения этой проблемы:
- Выпуск карты / Уменьшить (в временную или постоянную коллекцию)
- Выполнение поиска в этой коллекции с помощью .limit (5) для курсора, который возвращается
Map / Reduce на одном сервере не является избыточным с MongoDB. Однако вы работаете над компромиссом «скорость / пространство». Теоретически вы можете запускать временную карту-уменьшение каждый раз, когда вам нужны эти данные. Однако, если вы делаете это много, вы, вероятно, захотите запланировать уменьшение карты и запросить магазин, так как уменьшение карты не дешево.