我需要从我的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()
仍然从已恢复的数据库中报告旧计数而不是新计数。
答案 0 :(得分:0)
尝试:
mongorestore -h 127.0.0.1 --port 3001 --drop
我发现你没有提供正确的转储路径。只提一下dump文件夹的路径。
请参阅mongorestore https://docs.mongodb.com/manual/reference/program/mongorestore/
的文档