Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |