Как читать данные из mongodb блок за блоком и писать в posrgres

У меня есть mongo db в производстве. Я хочу переместить данные из MongoDB в Postgres для некоторых требований миграции.

Теперь перейдем к части данных. Я планирую написать одну утилиту, которая будет читать данные из MongoDB и писать в Postgres.

Здесь я хочу прочитать все данные из mongo db (содержит 240335 строк) в Postgres.

Я не могу полностью прочитать данные в памяти в приложении. Я хочу прочитать пакет из 10000, затем написать, внести некоторые изменения и записать их в Postgres, а затем снова прочитать следующие 10000, снова повторить это.

Как я могу это сделать?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
84
1

Ответы 1

Я никогда этого не делал, но думаю, можно использовать курсоры для загрузки записей по отдельности. Проблема - решение будет неэффективным.

Пример

var myCursor = db.bios.find( );
var myDocument = myCursor.hasNext() ? myCursor.next() : null;

if (myDocument) {
    var myName = myDocument.name;
    print (tojson(myName));
    //put record to db or add to batch, and upload if 1000 in collection
}

Может, потоки использовать можно? Я не знаю, можно ли использовать потоки в MongoDB.

Другие вопросы по теме