mongodb 连接到主机时出错:无法连接到服务器:服务器选择错误:服务器选择超时当前拓扑:类型:单台服务器

n3ipq98p  于 2023-03-07  发布在  Go
关注(0)|答案(5)|浏览(216)

我需要导入一个CSV文件到mongoDB不幸的是,我有以下错误:

error connecting to host: could not connect to server: server selection error: server selection timeout
    current topology: Type: Single
    Servers:
    Addr: eaderline:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: connection() : dial tcp: lookup eaderline: no such host

我的导入字符串看起来像这样:

mongoimport --host Test-shard-0/test-shard-00-00-gceee.mongodb.net:27017,test-shard-00-01-gceee.mongodb.net:27017,test-shard-00-02-gceee.mongodb.net:27017 --ssl --username <username> --password <password> --authenticationDatabase admin --db EngineeringProject --collection FirstName --type csv -file "C:\Users\Ja\Desktop\INFA\ProjektInzynierski\DaneDBzMC\imiona.csv" -headerline

这个错误有趣的地方是,我可以在两周前通过类似的字符串导入数据到mongodb,看起来像下面的这个字符串,今天它是不可能的,为什么?

mongoimport --host Test-shard-0/test-shard-00-00-gceee.mongodb.net:27017,test-shard-00-01-gceee.mongodb.net:27017,test-shard-00-02-gceee.mongodb.net:27017 --ssl --username <username> --password <password> --authenticationDatabase admin --db Test2 --collection COL_First --type csv -file "C:\Users\Ja\Desktop\Przykladowy\Mapy\liczba.csv" -headerline

有人看出什么错误吗?
我已经检查了我机器上的端口27017是空闲的,也许集群端有什么问题?有没有方法启动一个空的导入,只是为了检查连接?

uklbhaso

uklbhaso1#

使用URI命令在windows命令行中对我有效

mongoimport --uri "mongodb://**user:passwd**@***host:port***/database?ssl=true&replicaSet=**replicasetneme**"
-c **collection** --file **csvFile** --fields **fields with comma separated**
ds97pgxw

ds97pgxw2#

最后,我能够通过mongodb GUI客户端Compass导入CSV文件。
在此期间我遇到了另一个问题。Compass连接集群显示了数据库,但没有显示集合。原来我的用户有一个坏角色。我删除了用户,并再次添加它,它的工作,我可以看到集合也。
之后,我能够导入我的CSV文件。

nr7wwzry

nr7wwzry3#

1.首先确保数据库端口27017未被其他本地服务器示例使用
2.如果使用云,然后登录到控制台,点击Cluster Name然后Command Line Tools复制mongo导入命令,看起来像

mongoimport --host DemoCluster-shard-0/democluster-shard-00-00-5zjhn.mongodb.net:27017,democluster-shard-00-01-5zjhn.mongodb.net:27017,democluster-shard-00-02-5zjhn.mongodb.net:27017 --ssl --username <USERNAME>--password <PASSWORD> --authenticationDatabase admin --db <DATABASE> --collection <COLLECTION> --type <FILETYPE> --file <FILENAME>

注意:如果文件包含json数组,则将TYPE传递为--jsonArray

vtwuwzda

vtwuwzda4#

每次我面对这种错误:

error connecting to host: could not connect to server...

这是因为MongoDB没有启动。请尝试手动启动它。作为windows用户:

qoefvg9y

qoefvg9y5#

对我来说,这是--ssl选项。不管我是否在连接字符串中传递它,它都需要作为参数传递。下面的命令起作用了。

mongorestore --noIndexRestore --ssl --db database --verbose --uri mongodb://user:password==@host.mongo.cosmos.azure.com:10255/?retrywrites=false --archive < documents.dump

这个没有

mongorestore --noIndexRestore --db database --verbose --uri mongodb://user:password==@host.mongo.cosmos.azure.com:10255/?retrywrites=false&ssl=true --archive < documents.dump

mongoimport也存在相同的问题

相关问题