将集合从同一MongoDB实例中的一个数据库移动到另一个数据库

Emi*_*hen 5 mongodb

我在数据库A中有很多集合。我想将其中一些集合复制到同一数据库中MongoDB

我尝试使用复制整个数据库db.copyDatabase('A', 'B'),但是它不仅包含300 GB数据。复制将花费很多时间,我只想将几个集合从数据库A复制到数据库B。

有人知道我该怎么做吗?

Sha*_*Roy 6

您可以使用mongo shell进行尝试。您可以使用将复制从一个数据库复制到另一个数据库renameCollection。在renameCollection可以从运行管理数据库,因此首先需要切换到管理数据库

因此,请在mongo shell中遵循以下步骤:

步骤1:运行此评论use admin

步骤2:运行下面的注释

db.runCommand({renameCollection:"sourcedb.sourceCollection",to:"targetdb.tragetCollection"})
Run Code Online (Sandbox Code Playgroud)

例如:

use admin
db.runCommand({renameCollection:"funnel.countries",to:"test.countries"})
Run Code Online (Sandbox Code Playgroud)

渠道 db 复制countries 集合测试数据库。

MongoDB将在后台为源集合创建转储,并将转储自动恢复到目标数据库集合

  • 这将移动集合,而不是副本(因为它是重命名) (2认同)