Ошибка парсера MongoClient: необработанное отклонение (TypeError) - PullRequest
0 голосов
/ 07 октября 2019

Я следовал руководству по началу работы с 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
});

Все выглядит нормальноменя, включите в реакцию (я полагаю, это не имеет никакого значения), и запустите приложение. Парсер url сталкивается с ошибкой:

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

, которая находит строку srv в этой функции в исходном файле mongodb url_parser:

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

Я полагаю, либоЯ сделал какую-то ужасную ошибку noob или что-то не так с парсером url?

Мои имя пользователя и пароль не содержат специальных символов, только обычные буквенно-цифровые символы. Я также пытался установить имя пользователя / пароль в опциях:

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

та же ошибка: (

Моя mongodb версия 3.3.2, которая выглядит как последняяверсия на сегодняшний день.

Любая помощь очень ценится!

...