我有一个正在生产中运行的 mongo 数据库。我想将数据从 MongoDB 移动到 Postgres 以满足某些迁移需求。
现在谈到数据部分,我打算编写一个实用程序,它将从 MongoDB 读取数据并写入 Postgres。
这里我想从 mongo 数据库(包含 240335 行)读取所有数据到 Postgres。
我无法在应用程序中将整个数据读入内存。我想批量读取 10000,然后进行一些修改,然后将它们写入 Postgres,然后再次读取下一个 10000,再次重复此操作。
我该怎么做?
最佳答案
我没做过,不过我觉得,你可以用游标分别上传记录。 问题 - 解决方案效率低下。
例子
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 中使用。
关于java - 如何从mongodb中逐 block 读取数据并写入postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53428021/