我正在尝试在Heroku上部署Facebook聊天机器人,但出现此错误:
2019-03-26T01:34:39.286607+00:00 app[web.1]: Error: Password contains an illegal unescaped character
2019-03-26T01:34:39.286618+00:00 app[web.1]: at parseConnectionString (/app/node_modules/mongodb/lib/url_parser.js:298:13)
2019-03-26T01:34:39.286620+00:00 app[web.1]: at parseHandler (/app/node_modules/mongodb/lib/url_parser.js:129:14)
2019-03-26T01:34:39.286622+00:00 app[web.1]: at module.exports (/app/node_modules/mongodb/lib/url_parser.js:25:12)
2019-03-26T01:34:39.286623+00:00 app[web.1]: at deprecated (internal/util.js:67:15)
2019-03-26T01:34:39.286625+00:00 app[web.1]: at connect (/app/node_modules/mongodb/lib/operations/mongo_client_ops.js:195:3)
2019-03-26T01:34:39.286626+00:00 app[web.1]: at connectOp (/app/node_modules/mongodb/lib/operations/mongo_client_ops.js:284:3)
2019-03-26T01:34:39.286628+00:00 app[web.1]: at executeOperation (/app/node_modules/mongodb/lib/utils.js:416:24)
2019-03-26T01:34:39.286630+00:00 app[web.1]: at MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:169:10)
2019-03-26T01:34:39.286631+00:00 app[web.1]: at Function.MongoClient.connect (/app/node_modules/mongodb/lib/mongo_client.js:335:22)
2019-03-26T01:34:39.286633+00:00 app[web.1]: at Timeout.connectToMongo [as _onTimeout] (/app/index.js:37:14)
我使用了非常简单的密码,但是仍然显示相同的错误。我该如何解决?
我暂时使用01234567890
作为密码。当我将其放入连接字符串时,我得到类似
mongodb+srv://myuser:<01234567890>@host.gcp.mongodb.net/test?retryWrites=true
答案 0 :(得分:1)
您的连接字符串不应包含<
和>
字符,除非它们是字符串值中的一部分(如果是,则可能需要转义)。在文档中经常会看到占位符被这些字符包围,但是当您替换占位符时,也应该删除这些字符。
尝试将您的连接字符串更改为
mongodb+srv://myuser:01234567890@host.gcp.mongodb.net/test?retryWrites=true
一旦确认此方法有效,就应该立即更改您的凭据以及可能在此处发布的任何其他实际数据库信息。