我在数据库A中有很多集合。我想将其中一些集合复制到同一个MongoDB
中的数据库B.
我尝试使用db.copyDatabase('A', 'B')
复制整个数据库,但它有超过300 GB
个数据。复制需要很长时间,我只想将数据库A中的一些集合复制到数据库B.
有谁知道我该怎么做?
答案 0 :(得分:6)
您可以使用mongo shell尝试。您可以使用renameCollection
将集合从一个数据库复制到另一个数据库。 renameCollection
可以从 admin 数据库运行,因此首先需要切换到 admin db 。
所以请按照mongo shell中的步骤进行操作:
步骤1:运行此评论use admin
第2步:运行以下评论
db.runCommand({renameCollection:"sourcedb.sourceCollection",to:"targetdb.tragetCollection"})
例如:
use admin
db.runCommand({renameCollection:"funnel.countries",to:"test.countries"})
将漏斗数据库中的countries
集合复制到测试数据库。
在后台,MongoDB将为源集合创建转储,并自动将转储还原到目标数据库集合
答案 1 :(得分:1)
使用mongodump
转储集合:
mongodump --db A --collection coll --out yourbackupdir
然后使用mongorestore
导入集合:
mongorestore --db B --collection coll yourbackupdir/