首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MongoUri中,我如何处理密码中的@?

在MongoUri中,我如何处理密码中的@?
EN

Stack Overflow用户
提问于 2020-05-14 19:23:42
回答 3查看 79关注 0票数 1

我的Mongo Uri是这样的。我的密码末尾必须有@。和Mongo抛出一个错误called=未转义的at-sign在授权部分。有没有办法让它工作呢?

代码语言:javascript
复制
 const url = 'mongodb://roots:something@@localhost:27017?authMechanism=DEFAULT&authSource=db';
EN

回答 3

Stack Overflow用户

发布于 2020-05-14 19:29:18

尝试使用以下内容对您的用户名和密码进行编码:

代码语言:javascript
复制
function percentEncode(string) {
  let encoded = '';
  string.split('').forEach(function(char) {
    encoded += '%' + char.charCodeAt(0).toString(16).toUpperCase();
  });
  return encoded;
}

https://www.rfc-editor.org/rfc/rfc3986#section-2.1

我的想法是从这里得到的:https://github.com/strongloop/loopback-connector-mongodb/issues/499

好运=)

票数 0
EN

Stack Overflow用户

发布于 2020-05-14 19:34:07

您还可以使用以下模板文字对字符串进行编码:

const DB_USER =‘root’;

const密码= encodeURIComponent('something@');

const DB_URL = mongodb://${DB_USER}:${PASSWORD}@localhost:27017?authMechanism=DEFAULT&authSource=db';

在我看来,它也更容易阅读

希望这会有帮助=)

票数 0
EN

Stack Overflow用户

发布于 2020-05-14 19:47:53

您可以使用URL encoding@的默认ASCII代码是%40。请参阅链接here

代码语言:javascript
复制
const url = 'mongodb://roots:something%40@localhost:27017?authMechanism=DEFAULT&authSource=db';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61796163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档