как читать данные из блока mongodb блоком и записывать в posrgres - PullRequest
0 голосов
/ 22 ноября 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 22 ноября 2018

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

Пример

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...