Связь CosmosDB с mongodb и mongoose - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь подключиться к моей БД через mongoose следующим образом:

mongoose
  .connect(process.env.COSMOSDB_CONNSTR, {
    useNewUrlParser: true,
    auth: {
      user: process.env.COSMODDB_USER,
      password: process.env.COSMOSDB_PASSWORD
    }
  })
  .then(() => console.log("Connection to CosmosDB successful"))
  .catch(err => console.error(err));

Я получаю сообщение об ошибке:

MongoError: имя базы данных должно быть строкой

Теперь, если я удаляю useNewUrlParser: true, Я получаю:

Ошибка: пароль содержит недопустимый символ без экранирования

Я не хочуудалить useNewURLParser, очевидно, но я подумал, что это странно.

COSMOSDB_CONNSTR=mongodb://jedi:iamajediawhatareyou==@jedidb.documents.azure.com:10255/?ssl=true&replicaSet=globaldb
COSMODDB_USER=jediidb
COSMOSDB_PASSWORD=iamajediawhatareyou==

1 Ответ

0 голосов
/ 18 февраля 2019

Итак, я читал их документы, и в одном месте показано, что вам нужно имя db перед ?ssl=true

Так что при корректировке строки это на самом деле будет выглядеть так:

COSMOSDB_CONNSTR=mongodb://jedi:iamajediawhatareyou==@jedidb.documents.azure.com:10255/jedi?ssl=true
...