node.js - nodejs - node js mongoose
Error ECONNREFUSED al conectarse a mongodb desde node.js (6)
Error ECONNREFUSED
Hay pocas razones de este error en el nodo:
Su puerto ya está prestando servicio, por lo que rechazará su conexión.
ir a la línea de comando y obtener pid usando el siguiente comando
$ lsof -i:port_number
Ahora mata pid usando
$ kill -9 pid(which you will get by above command)
Su servidor no se está ejecutando, por ejemplo, en este caso, compruebe que su servidor mongoose se está ejecutando o ejecutando mediante el siguiente comando.
$ mongod
También existe la posibilidad de que su
localhost
no esté configurado correctamente, por lo tanto, utilice127.0.0.1:27017
lugar de localhost.
Sé que estoy haciendo algo muy estúpido y novato, pero espero que alguien me ayude a configurar una conexión de base de datos básica a mongodb desde node.js en un mac.
He instalado mongodb usando homebrew, parece haber funcionado bastante bien. Inicié el servidor (mongod) como el usuario que inició sesión localmente, abrí un segundo terminal y confirmé que podía conectarme a él mediante el uso de mongo. Cuando ejecuto mongo recibo el mensaje "conectando a: localhost: 27017 / test" seguido de un símbolo del sistema. Corrí algunos comandos en el shell de mongo, todo parece funcionar allí. Dejó ambos terminales abiertos y en funcionamiento.
También confirmó que puedo acceder a la interfaz web en localhost: 28017.
Instalé node.js y agregué el paquete de mangosta. Ahora intentamos conectarnos usando una aplicación node.js muy simple (que también se ejecuta como usuario conectado localmente):
var mongoose = require(''mongoose'');
mongoose.connect(''mongodb://localhost/test'');
Recibo el siguiente error
events.js:72
throw er; // Unhandled ''error'' event
^
Error: connect ECONNREFUSED
at errnoException (net.js:901:11)
at Object.afterConnect [as oncomplete] (net.js:892:19)
Golpeando mi cabeza contra la pared tratando de obtener algo tan simple de trabajar. ¿Qué me estoy perdiendo?
Editar: Aquí están los registros de mongod. Como puedes ver, lo intenté varias veces y todas fallaron instantáneamente:
Thu Dec 5 08:19:43.700 [initandlisten] MongoDB starting : pid=14412 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=mobadmins-MacBook-Pro-3.local
08:19:43.700 [initandlisten] db version v2.4.8
08:19:43.700 [initandlisten] git version: nogitversion
08:19:43.700 [initandlisten] build info: Darwin mobadmins-MacBook-Pro-3.local 12.4.0 Darwin Kernel Version 12.4.0: Wed May 1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
08:19:43.700 [initandlisten] allocator: tcmalloc
08:19:43.700 [initandlisten] options: { bind_ip: "127.0.0.1", config: "/usr/local/etc/mongod.conf", dbpath: "/usr/local/var/mongodb", logappend: "true", logpath: "/usr/local/var/log/mongodb/mongo.log", rest: true }
08:19:43.700 [initandlisten] journal dir=/usr/local/var/mongodb/journal
08:19:43.700 [initandlisten] recover : no journal files present, no recovery needed
08:19:43.729 [websvr] admin web console waiting for connections on port 28017
08:19:43.729 [initandlisten] waiting for connections on port 27017
08:22:34.561 [initandlisten] connection accepted from 127.0.0.1:52160 #3 (1 connection now open)
08:22:34.563 [conn3] recv(): message len 1124073472 is too large. Max is 48000000
08:22:34.563 [conn3] end connection 127.0.0.1:52160 (0 connections now open)
08:24:41.298 [initandlisten] connection accepted from 127.0.0.1:52166 #4 (1 connection now open)
08:24:41.304 [conn4] end connection 127.0.0.1:52166 (0 connections now open)
08:25:06.938 [initandlisten] connection accepted from 127.0.0.1:52168 #5 (1 connection now open)
08:25:06.943 [conn5] end connection 127.0.0.1:52168 (0 connections now open)
08:25:18.220 [initandlisten] connection accepted from 127.0.0.1:52172 #6 (1 connection now open)
08:25:18.225 [conn6] end connection 127.0.0.1:52172 (0 connections now open)
08:25:38.811 [initandlisten] connection accepted from 127.0.0.1:52175 #7 (1 connection now open)
08:25:38.816 [conn7] end connection 127.0.0.1:52175 (0 connections now open)
OK, este fue otro caso de no ser sincero en la información que publiqué anteriormente. Mi aplicación node.js era muy simple, pero estaba incluyendo otras líneas en mi código node.js que aparentemente causó este problema.
Específicamente, tuve otra variable declarada que llamaba a algún otro código que realizaba una llamada a la base de datos por separado utilizando información de db incorrecta. Esta es la razón por la cual, al usar el código de Xinzz, el error de registro de la consola no pareció cambiar. ¡En realidad no era el comando mongoose.connect que arrojaba el error!
¡Lección aprendida, localizar el problema y comentar el código no relacionado! Lo siento muchachos, sabía que esto era ser tonto.
Tuve el mismo problema Se resolvió ejecutando el mismo código en la consola del administrador .
Tuve que enfrentar el mismo problema mientras escribía una api de descanso simple usando node.js finalmente descubrí que se debía al bloqueo de wifi y la razón de seguridad. intente conectarlo una vez usando su punto de acceso móvil . si este es el motivo, se resolverá de inmediato.
Use este código para configurar su conexión mongodb:
var mongoose = require(''mongoose'');
var mongoURI = "mongodb://localhost:27017/test";
var MongoDB = mongoose.connect(mongoURI).connection;
MongoDB.on(''error'', function(err) { console.log(err.message); });
MongoDB.once(''open'', function() {
console.log("mongodb connection open");
});
Asegúrese de que mongod se esté ejecutando mientras inicia el servidor. ¿Estás usando Express o simplemente un servidor simple node.js? ¿Cuál es el mensaje de error que obtienes con el código anterior?
muy extraño, pero en mi caso, cambio de conexión wifi ...
Uso wifi público y cambio a mi conexión de teléfono