mongoimport导入MongoDB集合报错:SRV URI不可包含端口号
故障原因
这个报错不是因为你真的在URI里写了端口号,是两处URI写法错误打乱了解析逻辑,让解析器把异常位置的内容误判为端口参数:
- 密码字段和前面的冒号之间多了冗余空格:你写的是
docuCentralAdmin: Password1138,按照MongoDB URI格式规范,用户名后的冒号需要直接拼接密码,不能插入空格,空格会被识别为URI段分隔符。 - 数据库名称末尾多了多余的
>符号:你写的库名是docu-centralDB>,这个不属于库名的特殊符号会破坏URI的结构识别,最终触发srv协议URI禁止携带端口的报错。
修复方法
把两处错误修正后直接执行即可,修正后的完整命令如下:
mongoimport --uri mongodb+srv://docuCentralAdmin:Password1138@documentary-central.5m2dl.mongodb.net/docu-centralDB --collection documentaries --type json --file /Users/lisa/Desktop/documentaries.json
补充提示:如果后续修改的密码本身包含@、/、:、#这类URI保留字符,需要先对密码做URL编码再填入连接串,否则还是会触发同类解析错误。mongodb+srv协议会自动匹配集群对应的服务端口,不需要手动在连接串里指定端口参数。
内容的提问来源于stack exchange,提问作者CuriousDevie
相关产品推荐
相关产品推荐

