我如何 mongo 使用 /data/db/ 中具有多个本地数据库的输入目录进行恢复?

How do I mongo restore using an input directory with multiple local dbs in /data/db/?

我的 /data/db 目录中有 4 个本地数据库

$ mongo
MongoDB shell version: 3.2.9
connecting to: db-A

$ show dbs
db-A  0.00gb
db-B  0.02gb
db-C  0.08gb
db-D  0.00gb

当我尝试 运行:

$ mongorestore -h dsxxxxx.mlab.com:xxxxx -d <dbname> -u <user> -p <password> /data/db`

它将 db-A 数据库导入到我的 mlab 数据库中,如何指定我要导入 db-C 数据库?

如果您要将数据从一个 mongodb 实例移动到另一个,您需要先从第一个数据库中转储数据,然后再将其导入到其他数据库。您不能使用 mongorestore 直接读取源数据库和 "restore" 它到新数据库。

您可以在目标 mongo 使用 copyDatabase() 命令从其他机器复制整个数据库。

还有mongodb-connector你也可以用的。实际上,它是 "replicate" 两个实例之间的一种方式的非常方便的工具。

这是一个旧的 post,但我想我会 post 我的发现。

如果您对所有数据库使用 mongodump -d dbname -o /path/to/folder,则可以使用 mongorestore /path/to/folder,它将读取文件夹中的所有数据库。