Я создаю свой первый тестовый API оставшийся с Mongo и Node
Я открываю соединение с базой данных, и оно работает правильно ... но я не могу справиться с ошибкой.Несмотря на то, что я пишу неправильный URI, он устанавливает успешную связь.Пробовал с обещаниями, обратными вызовами и событиями, но ничего не работает:
Например:
const mongoose=require('mongoose');
mongoose.Promise = global.Promise;
const express=require('express');
const bodyParser=require('body-parser');
const portApp=1300;
const app=express();
app.listen(portApp,'localhost',()=>{
console.log(`server works fine at ${portApp}`);
mongoose.connect('mongodb://localhost:27017/RIGHTdbname')
.then((res)=>
{
console.log(`successful connection to BBDD`);
//console.log(res);
})
.catch((error)=>{
console.log("error"+error.message);
});
});
Это нормально, оно выдает "успешное соединениеto BBDD "... проблема в том, что когда я пишу неправильное имя базы данных, оно выдает то же самое!
Я пытался сделать это с помощью callback.как предложено здесь :
mongoose.connect('mongodb://localhost:27017/WRONGdbname',function(err){
if(err)
{
throw err;
}
});
И попытался использовать эти события (взяты из здесь , и которые я на самом деле не понимаю, использовал только .on() метод jquery в прошлом, для задач делегирования событий), но он также не работает, потому что всегда запускается «подключенное» событие, даже если имя базы данных неверно.
// When successfully connected
mongoose.connection.on('connected', function () {
console.log('Mongoose default connection opened);
});
// If the connection throws an error
mongoose.connection.on('error',function (err) {
console.log('Mongoose default connection error: ' + err);
});
Можеткто-нибудь объяснит мне, что я делаю не так?Спасибо