Jat*_*t90 5 mongodb mongodb-atlas
我正在尝试将本地 MongoDB 迁移到 Atlas。
我设法使用 localhost 运行 mongodump 命令,并且可以看到 ./dump/data.bson 中的文件
但是,当我现在想要将此转储恢复到 Atlas 时,我收到“失败:连接到数据库服务器时出错:没有可访问的服务器”。
这很奇怪,因为我可以使用以下命令从 mongo shell (v4.0) 连接到 Atlas:“mongo mongodb+srv://cluster0-xxxxxx.mongodb.net/test --username Bob”,其中提示我输入密码并连接良好。
这是 mongorestore 命令,它给了我上述连接错误:
mongorestore --ssl --host mongodb+srv://cluster0-xxxxx.mongodb.net/test --username Bob --authenticationDatabase admin --dir dump/data --password Test123
Run Code Online (Sandbox Code Playgroud)
感谢你的帮助。
=>Windows
mongodump在本地系统上运行,无需任何选项。
从同一系统运行:
mongorestore --uri mongodb+srv://<Yorname>:<*******>@cluster0.dvxc9.mongodb.net/Databasename --username <Yourname> -d Databasename "C:\Users\user\dump\Databasename" -v
Run Code Online (Sandbox Code Playgroud)
//如果出现 mongorestore 目标错误=>检查目标是否提供正确(同时检查双引号 -"")
小智 5
atlas 网站上有明确的文档。当您查看集群时,将会有一个 Cmd Line Tools 选项卡。
以下是步骤。
mongodump在本地系统上运行,无需任何选项。
从同一系统运行:mongorestore --uri mongodb+srv://<USER>:<PASSWORD>@thename.mongo.gives.your.cluster.mongodb.net
如果尚未打开,您可能需要打开 atlas 防火墙以允许来自本地计算机 IP 的连接。
好的,我找到了解决方案。
您需要将集合导出为 JSON(可以通过 Compass -> Collection(下拉菜单)-> Export Collection 来执行此操作)。
然后您需要使用 mongoimport (而不是 mongorestore)。完整信息在这里: https: //docs.atlas.mongodb.com/import/mongoimport/
我猜 mongorestore 不起作用,因为我的本地是一个独立的数据库,而 Atlas 是一个副本集......尽管我还没有证实这一点。
编辑我最近再次尝试并感到困惑。所以我把它完整地拼写出来。
在 mongodb 目录中,需要运行 mongoimport --uri "connectionURI" --collection "collectionName" --file "filename.json"
您通过 atlas 中名为“连接您的应用程序”的选项获得的连接 URI,它应该包含您的密码(您必须转义特殊字符)。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
8983 次 |
| 最近记录: |