До сих пор я встречал способы выбора случайных документов, но моя проблема немного больше pickle.So здесь идетсовет MongoDB запросов для взвешенной рандомизированной агрегации
У меня есть коллекция, которая содержит сказать 1000+ документы (продукты) говорят, каждый документ имеет более или менее общий формат .say для простоты это
{"_id":{},"name":"Product1","groupid":5}
GroupID представляет собой число в диапазоне от 1 говорит до 20, обозначающее продукт принадлежит к той группе.
Теперь, если мой запрос вход что-то вроде массива {groupid-> вес} для например {[{ "2": 4}, { "7": 6}]} и сказать другой параметр п (= 10 говорят) Тогда мне нужно, чтобы быть в состоянии выбрать 4 случайные документы, которые принадлежат к GroupID 2 и 6 случайных документов, которые принадлежат к GroupID 7.
Единственное решение я могу думать для запуска подпрограмм «m», где m - длина массива в запросе. Как сделать это эффективным способом в MongoDB, используя, вероятно, Mapreduce.
Это кажется полезным. – humblerookie