我正在使用Morphia以这种方式将Mongo数据库集合从数据库复制到另一个数据库:
List<User> users = datastoreSource.find(User.class).asList();
datastoreDest.save(users);
此代码有效,但执行时间需要数小时。我有一个包含300万个文档的集合,我希望在几分钟内复制它。有人可以帮助我改进代码吗?
答案 0 :(得分:1)
令我惊讶的是,这项工作共有300万份文件。首先,你将它们全部加载到内存中,然后你将它们写回来。
我会尝试使用.order("_id").limit(100).skip(i*100)
和bulk write it back阅读一批数据(比如100)。
这会很有趣: