如何从mongodb逐块读取数据并写入posrgres

时间:2018-11-22 09:45:59

标签: java mongodb postgresql spring-boot

我正在生产中运行mongo数据库。我想将数据从MongoDB移至Postgres,以实现某些迁移要求。

现在涉及数据部分,我打算编写一个实用程序,该实用程序将从MongoDB中读取数据并写入Postgres。

在这里,我想从mongo db(包含240335行)中读取所有数据到Postgres。

我无法将整个数据读取到应用程序的内存中。我想批量读取10000,然后写一些修改并将其写入Postgres,然后再次读取下一个10000,再重复一次。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

我从没做过,但是我认为,您可以使用游标分别上传记录。 问题-解决方案将效率低下。

示例

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中使用流。