Почему мое лазурное веб-приложение не может подключиться к базе данных cosmos db? - PullRequest
0 голосов
/ 11 февраля 2019

Я пытался развернуть приложение на основе реагирования в Azure и подключить его к базе данных cosmosdb в том же пакете ресурсов, используя Express и Mongoose.Когда я подключаюсь к облаку cosmosdb при локальном запуске приложения, оно работает.Когда я подключаюсь из веб-приложения Azure к базе данных mlab, которая также работает.Когда я пытаюсь подключиться из веб-приложения, развернутого в Azure, к cosmosdb, время соединения истекает.Я не могу заставить ресурсы Azure взаимодействовать!

Я включил проводной протокол MongoDB 3.4 в настройках предварительного просмотра моей базы данных, но это не помогло.Вот мой код соединения.

const mongoUri=mongodb://${process.env.dbName}.documents.azure.com:${process.env.cosmosPort}/?ssl/=true&sslverifycertificate=false`;

mongoose.connect(mongoUri,{ auth: { user: process.env.dbName, password: 
process.env.key }, useNewUrlParser: true }).then(() => 
console.log('connection successful'))
.catch((err) => console.error(err));

Я ожидаю, что это откроет соединение с cosmosdb, но поток журнала показывает, что тайм-аут соединения с ошибкой mongo

1 Ответ

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

Это начало работать, когда я изменил код подключения на -

mongoose.connect(mongoUri,{ useNewUrlParser: true }).then(() => 
console.log('connection successful'))
.catch((err) => console.error("Ahhhgh! "+ err));`

, где

const mongoUri = `mongodb://${process.env.dbName}: 
${process.env.key}@${process.env.dbName}.documents.azure.com:10255/mean? 
ssl=true&sslverifycertificate=false`

с @.То, что мое размышление о безумных исследованиях за последние пару дней, кажется, предполагает, что версия Mongoose или Mongodb, которую я использую, старше, чем должна быть.Спасибо за комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...