Je suis nouveau sur MongoDB 4.0.6 et j'ai essayé de l'implémenter dans mon site Web en utilisant Node/Express.js, mais lorsque j'essaie de me connecter à mongodb+srv://${process.env.MONGOUSER}:${process.env.MONGOPASS}@main-03xkr.mongodb.net/main
Je reçois cette erreur:
{Erreur: querySrv EREFUSED _mongodb._tcp.main-03xkr.mongodb.net at QueryReqWrap.onresolve [as oncomplete] (dns.js: 199: 19) errno: 'EREFUSED', code: 'EREFUSED', syscall: 'querySrv' , nom d'hôte: '_mongodb._tcp.main-03xkr.mongodb.net'}
J'ai essayé de me connecter à mongodb://localhost:27017/main
, mais cela ne semble fonctionner.
Voici le code pertinent:
require('dotenv').config();
const mongoose = require('mongoose');
// Database
const uri = `mongodb+srv://${process.env.MONGOUSER}:${process.env.MONGOPASS}@main-03xkr.mongodb.net/main`;
const localURI = 'mongodb://localhost:27017/main';
var Project = require('./models/project');
mongoose.connect(uri, { useNewUrlParser: true });
const db = mongoose.connection;
db.once('open', () => console.log('Successfully connected to MongoDB'));
db.on('error', (e) => console.log(e));
// Routes
app.get('/', (req, res) => {
Project.find({}, (e, projects) => {
if (e) console.log(e);
res.render('home.ejs', {
projects: projects
});
});
});
Est-ce que quelqu'un sait comment corriger cette erreur et peut-être expliquer ce qui se passe ici?
Vous avez undefined
dans votre chaîne de connexion. Je ne sais pas si c'est une faute de frappe ou non. Mais essayez de changer
const uri = `mongodb+srv://undefined:${process.env.MONGOPASS}@main-03xkr.mongodb.net/main`;
à
const uri = `mongodb+srv://${process.env.MONGOUSER}:${process.env.MONGOPASS}@main-03xkr.mongodb.net/main`;
J'utilise MongoAtlas pour un projet et cette chaîne (moins l'utilisateur non défini) semble correcte.
Dans notre cas, l'antivirus/pare-feu bloque,
Essayez de désactiver l'antivirus/pare-feu et vérifiez à nouveau. espérons que cela fonctionnera.