将数据从一个mongodb数据库迁移到另一个使用mongoose

我不得不从一个数据库迁移大约19k个帐户到另一个数据库,并且改变他们的格式等。想知道是否有人有一个坚实的方法来做到这一点,也许有一个简单的node.js脚本。 我在网上search了一个例子,但一直没能find任何东西。

我只是简单地使用monk.js这样的stream。 这里有一个示例程序(这里没有shell,所以它可能不是100%准确的):

var monk = require('monk'); var src = monk('localhost/my-database'); var dest = monk('remote-host/remote-database'); var users = src.get('users'); var remoteUsers = dest.get('newUsers'); users.find({}, { stream: true }) .each(function(user){ // change some data user.profileImage = user.image; delete user.legacyPropery; user.name = user.firstName + ' ' + user.lastName; return user; }) .error(function(err){}) .success(function(){}); 

这是它的要点。 即使你有多个你想要迁移的相关集合(比如,coments或者东西),stream媒体和一个接一个的移动听起来也是最好的select。 您可以并行运行(多个进程或者在集群模块中多次使用此模块),您可以计算成功/错误等。

几乎相同,如果你要mongodump然后mongorestore新的数据库,然后在那里运行一个转换器脚本。 (与$更新或其他)。