MongoClient解析器错误:未处理的拒绝(TypeError)

时间:2019-10-06 23:37:43

标签: javascript mongodb mongodb-atlas

我遵循了MongoDB的入门指南,并从Node.js驱动程序版本3+的“群集”页面获取了连接字符串和代码,如下所示:

import { MongoClient } from 'mongodb';

const uri = "mongodb+srv://myname:mypassword@somecluster.mongodb.net/admin?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
  if (err) {
    console.error(err);
    return;
  }
  // do something
});

对我来说一切都很好,做出反应(我想这没什么关系),然后运行该应用程序。网址解析器遇到错误:

"Unhandled Rejection (TypeError): Cannot read property 'replace' of undefined"

位于mongodb源文件url_parser中此函数中srv行的位置:

function matchesParentDomain(srvAddress, parentDomain) {
  const regex = /^.*?\./;
  >>> error here >>> const srv = ".".concat(srvAddress.replace(regex, ''));
  const parent = ".".concat(parentDomain.replace(regex, ''));
  return srv.endsWith(parent);
}

我想我是犯了一个可怕的菜鸟错误,还是网址解析器出了点问题?

我的用户名和密码不包含特殊字符,只是普通的字母数字字符。我还尝试在选项中设置用户名/密码:

userNewUrlParser: true,
auth: {
  user: 'myusername',
  password: 'mypassword'
}

相同错误:(

我的mongodb版本是3.3.2,看起来它是今天的最新版本。

非常感谢您的帮助!

0 个答案:

没有答案