MongoDb using distinct with limit

 
0
 
NoSQL
ava
rang3r | 01.08.2012, 13:57
Всем привет.
Есть задача: необходимо поднять <=n уникальных значений определенных полей(или всех, не суть) из коллекции.
Проблема в том что нельзя использовать distinct().limit() (на эту тему у разработчиков достаточно давно висит иша https://jira.mongodb.org/browse/SERVER-2130 но без продвижек).
Делать distinct по всей коллекции, а потом брать из нее 10 первых тоже не хочется (слишком долго получиться, есть поля-массивы с большим кол-вом элементов). Как наиболее эффективно организовать проход по коллекции и набор до n уникальных значений для полей ?
Comments (1)
ava
DissDoc | 09.04.2013, 15:32 #
Почитайте про aggregate. Как раз то, что вам нужно. distinct ляжет через $group
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
  DissDoc   rang3r
advanced
Submit