連接到MongoDB時,注意在密碼中使用符號
直接给出答案
在使用密码等时,不要忘记根据需要对符号进行编码。
简单的经过
全栈Vue.js、Express和MongoDB [1] – Express API
在观看上述视频的同时,我打算使用node.js、express、mongoDB和vue来制作一个应用程序。
在视频中,他们使用了mLab.com,但由于从2019年2月开始停止了新会员注册,所以我决定这次使用mongoDB Atlas。
发生错误
当尝试连接到 MongoDB 时出现以下错误:
UnhandledPromiseRejectionWarning: MongoParseError: URI 没有主机名、域名和顶级域名。
「原因」的中文翻译如下:
我在密码中包含了符号,但由于未对该字符进行编码,因此出现错误。
应对措施
使用ASCII码表将符号进行编码后,问题得以解决。
const uri = "mongodb+srv://<ID>:<password>@mongoDBのURI";
请在这里输入<密码>
密码@囘w0rd’9′!
如果你想进来的话,
密码’9′!
必須將其進行編碼。
只需要一个中文选项:请参考
连接字符串密码中的特殊字符
综合感受
也许将ID和密码放入其他变量中,进行编码,然后创建数据库的URI可能会更好。