将mongo数据库复制到本地

时间:2018-03-16 18:42:15

标签: mongodb

我需要从我的Mongo Cloud Atlas复制mongo数据库并在本地使用我的meteor应用程序,但在执行以下步骤后,db.users.find().count()仍然报告“旧”数据库计数而不是我认为的新数据库计数我在mongodump之后正确恢复了。有什么想法吗?

从Atlas集群转储,从应用程序父目录运行:
mongodump --host Cluster0-shard-0/cluster0-shard-00-00-oko1k.mongodb.net:27017,cluster0-shard-00-01-oko1k.mongodb.net:27017,cluster0-shard-00-02-oko1k.mongodb.net:27017 --ssl --username myname --password myPswd --authenticationDatabase admin --db dbName

终端报告如下行:
2018-03-17T05:03:57.462+1100 writing dbName.tempLinksGroupsCol to 2018-03-17T05:03:57.465+1100 done dumping dbName.commonCol (1 document)

确认是否存在包含目录“dbName”的转储目录。

通过从app父目录运行此命令,将数据从新转储的dbName复制到我的本地dbName:

mongorestore --maintainInsertionOrder -h 127.0.0.1 --port 3001 --drop -d dbName dump/dbName

我得到的结论如下:
2018-03-17T05:21:48.826+1100 finished restoring dbName.cronHistory (0 documents) 2018-03-17T05:21:48.826+1100 done 切换到app目录并运行命令:
meteor 打开一个新终端并运行命令:
meteor mongo

从mongo shell发出命令:
db.users.find().count()

仍然从已恢复的数据库中报告旧计数而不是新计数。

1 个答案:

答案 0 :(得分:0)

尝试:

mongorestore -h 127.0.0.1 --port 3001 --drop

我发现你没有提供正确的转储路径。只提一下dump文件夹的路径。

请参阅mongorestore https://docs.mongodb.com/manual/reference/program/mongorestore/

的文档