Al conectar mongoDb con el problema de la aplicación: "Advertencia de rechazo de promesa no controlada: MongooseServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017"
Soluciones probadas:
Código:
var express = require('express'); var app = new express(); var bodyParser = require('body-parser') var mongoose = require('mongoose') var user = require('./model/user') const hostname = '127.0.0.1'; const port = 3000; var router = express.Router(); mongoose.connect('mongodb://localhost:27017/userdb', { useNewUrlParser: true }); var users = [{ name: "Jane", age: 20 }, { name: "Mark", age: 40 }, { name: "Janefer", age: 40 }] app.use(bodyParser.urlencoded({ extended: true }))//converts it into obj router.route('/users') .get((req, res) => { //fetch record from users collectiobn user.find({}, (err, users) => { if (err) { res.json({ msg: 'error in fetching data from DB' }) } else { res.json(users) } }) // res.json(users) }) .post((req, res) => { }) app.use('/api', router)//middleware to direct all req app.listen(port, hostname, () => { console.log("Server listening on 3000") })Captura de pantalla del error:
puede intentar verificar qué puerto está usando mongodb en su mongodb.conf después de eso, si todavía tiene problemas, puede ejecutar el comando ps aux | grep mongo y publique el resultado.
En lugar de [localhost] use [127.0.0.1]. así - 'mongodb://127.0.0.1:27017/userdb'