миллионов документов.
(с полностью идентичной структурой)
Вопрос:
Можно ли с помощью только лишь агрегации(или методов базы - без ЯП) решить следующую задачу? :
1) Проитерироваться по каждым 5-ти элементам из этой многомилионной коллекции (начать с первых 5-ти)
2) сделать выборку из этих 5-ти елементов таким образов что бы на выходе получился 1 документ получишвший выжимку из вышеуказанных 5-ти
3) отправить эту выжимку в новую коллекцию
4) начать следующую итерацию из 5-ти елементов(тоесть повторить предыдущий весь алгоритм) - и так пока вся коллекция не будет профильтрована.
1) skip, take, limit 2) aggregate 3) тут вам понадобится язык уже или просто жс скрипт(если разово) 4) 1 пункт
тоесть без языка никак - я правильно понял?
вы имеете ввиду обычный js скрипт или какой то скрипт монги?
Монга на жс и работает)
это понятно но я думаю вы поняли вопрос имел ввиду скрипт на языке бекенда или на языке самой технологии монги
Скрипт - я имею ввиду просто как файлик или кусок кода, который не будет на вашем беке. А в этом файле вы можете юзать как и операторы монго, так и обычный жс код
обычный жс код к сожаление не подходит - слишком медленно все работает
тоесть я просто брал жссом дергал данные из базы эти 5 - елементов - делал из них 1 и отправлял в новую коллекцию.
на счет 3-го пункта не совсем понял - вроде же есть какой то stage-метод - который заносит в коллекцию полученные данные
Мб, в документации, можно все найти)
но какого то аналога цикла не существует получается в методах базы - я правильно понял? допустим положить можно полученные данные но запустить из монги прямо новую итерацию не получится - правильно?
Если уж так хотите, то зачем вам цикл? Ложите весь свой aggregate response в другую коллекцию. Смысл от цикла тут?
ну смысл в том что я же положу только отфильтрованные первые 5 документов из базы - а мне же надо остальную часть из базы дофильтровать
https://stackoverflow.com/questions/31231872/mongodb-lists-get-every-nth-item Мб Вам нужно что то из этого рода или подобное погуглить. Либо просто вы неправильно поставили задачу
задача правильная есть минутный таймфрейм мне его надо переделать в 5-ти минутный для этого берем и анализирует каждую минуту и делаем исходя из этого анализа - 5-ти минутку
https://www.mongodb.com/developer/products/mongodb/time-series-candlestick/
Обсуждают сегодня