Я пытаюсь подключиться к Atlas MongoDB со следующим URI (предоставляется строкой подключения mongodb)
module.exports = {
mongoURI:'mongodb+srv://<user>:<password>@cluster0-un6sk.mongodb.net/test?
retryWrites=true'
};
//connect to mongoose
mongoose
.connect(db)
.then( ()=>console.info('mongoDB connected'))
.catch(err => console.info(err));
Я получаю следующую ошибку:
{ MongoNetworkError: connection 3 to cluster0-shard-00-00-un6sk.mongodb.net:27017 closed
at TLSSocket.<anonymous> (C:\Users\KARTIT Ismail\Desktop\devconnector\node_modules\mongodb-core\lib\connection\connection.js:352:9)
at Object.onceWrapper (events.js:273:13)
at TLSSocket.emit (events.js:182:13)
at _handle.close (net.js:606:12)
at TCP.done (_tls_wrap.js:386:7)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }
упс! Я отредактировал это. это только для прототипа, спасибо





Для подключения к Atlas MongoDB необходимо настроить белый список IP-адресов. Перейдите на сайт MongoDB Atlas, авторизуйтесь. Затем в представлении «Кластеры» выберите вкладку «Безопасность», затем «Белый список IP-адресов». Вы увидите IP-адрес. Нажмите кнопку «Изменить», затем «текущий IP-адрес». Нажмите ОК. Затем перезапустите свой сервер.
Полезная ссылка : https://docs.atlas.mongodb.com/security-whitelist/#add-whitelist-entries
Какую версию мангуста вы используете? Версии мангуста ниже версии 5.0.15 не поддерживают URL-адрес сервера mongodb+srv://.
Другая распространенная проблема — белые IP-адреса.
Убедитесь, что вы внесли свой IP-адрес в белый список на панели управления Atlas.
Вы можете ввести 0.0.0.0, если хотите разрешить доступ с любого хоста.
Затем вы можете иметь строку подключения, как показано ниже:
var connectionString= 'mongodb://<username>:<password>@<clustername>/<dbname>?ssl=true&replicaSet=<replica setname>&authSource=admin';
var db = mongoose.connect(connectionString).catch((error) => { console.info(error); });
Я использовал ваше решение, разрешив доступ с любого хоста, и это сработало! Спасибо, сэр
Просто внесите IP-адрес в белый список из пользовательского интерфейса Atlas, не нужно перезапускать приложение.
Белый список IP-адреса, лучший вариант разрешает доступ с любого хоста, я считаю, что все установили mongoose, если нет, то используйте эту команду
npm i mongoose
Сначала скопируйте строку подключения вашего приложения с mongodb.com -> clusters->connect->connect your application
Теперь выберите драйвер Node.js и последнюю версию, теперь скопируйте строку подключения.
Теперь подключение.js
const mongoose = require('mongoose');
const conStr = 'mongodb+srv://lord:<password>@cluster5-eeev8.mongodb.net/test?retryWrites=true&w=majority'
const DB = conStr.replace(
'<password>',
myPass
);
const DB = conStr.replace(
'test',
myDatabaseName
);
//remember mongoose.connect() return promise
mongoose
.connect(DB, {
usedNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
})
.then((con) => {
console.info(con.connection);
console.info('DB connection successful');
});
Пожалуйста, скройте URL-адрес для подключения в целях безопасности.