Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > NoSQL > MongoDb using distinct with limit


Автор: rang3r 1.8.2012, 12:57
Всем привет. 
Есть задача: необходимо поднять <=n уникальных значений определенных полей(или всех, не суть) из коллекции. 
Проблема в том что нельзя использовать distinct().limit() (на эту тему у разработчиков достаточно давно висит иша https://jira.mongodb.org/browse/SERVER-2130 но без продвижек). 
Делать distinct по всей коллекции, а потом брать из нее 10 первых тоже не хочется (слишком долго получиться, есть поля-массивы с большим кол-вом элементов). Как наиболее эффективно организовать проход по коллекции и набор до n уникальных значений для полей ?

Автор: DissDoc 9.4.2013, 15:32
Почитайте про aggregate. Как раз то, что вам нужно. distinct ляжет через $group

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)