node.js mongodb

node.js - [Error: no se pudo conectar a[localhost: 27017]] de NodeJS a mongodb



(6)

Estoy teniendo problemas para conectarme a MongoDB desde NodeJS usando el siguiente código de muestra. Intenté ejecutar "mongod" con o sin sudo pero el código de nodejs todavía no se puede conectar. Puedo conectarme exitosamente a la base de datos usando "mongo".

Ejecutándose en: MAC OS 10.6.8

var mongoClient = require(''mongodb'').MongoClient; mongoClient.connect("mongodb://localhost:27017/test", function(error, db) { if(!error){ console.log("We are connected"); } else console.dir(error); });

consigue el siguiente error ejecutando el código anterior: [Error: no se pudo conectar a [localhost: 27017]]

También probé la mangosta pero error similar:

var mongoose = require(''mongoose''); mongoose.connect(''mongodb://localhost/test''); var db = mongoose.connection; db.on(''error'', console.error.bind(console, ''connection error:'')); db.once(''open'', function callback () { console.log("DB connected"); // yay! });

Salida: error de conexión: [Error: no se pudo conectar a [localhost: 27017]]

Aquí está el registro de mongod

mongod --help for help and startup options 2014-07-11T23:33:47.843-0700 kern.sched unavailable 2014-07-11T23:33:47.849-0700 [initandlisten] MongoDB starting : pid=29942 port=27017 dbpath=/data/db 64-bit host=usc8bcc8a0d0b1 2014-07-11T23:33:47.849-0700 [initandlisten] 2014-07-11T23:33:47.849-0700 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 2014-07-11T23:33:47.849-0700 [initandlisten] db version v2.6.3 2014-07-11T23:33:47.849-0700 [initandlisten] git version: nogitversion 2014-07-11T23:33:47.849-0700 [initandlisten] build info: Darwin usc8bcc8a0d0b1 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49 2014-07-11T23:33:47.849-0700 [initandlisten] allocator: system 2014-07-11T23:33:47.849-0700 [initandlisten] options: {} 2014-07-11T23:33:47.850-0700 [initandlisten] journal dir=/data/db/journal 2014-07-11T23:33:47.850-0700 [initandlisten] recover : no journal files present, no recovery needed 2014-07-11T23:33:47.901-0700 [initandlisten] waiting for connections on port 27017 2014-07-11T23:34:47.901-0700 [clientcursormon] mem (MB) res:48 virt:2810 2014-07-11T23:34:47.901-0700 [clientcursormon] mapped (incl journal view):320 2014-07-11T23:34:47.901-0700 [clientcursormon] connections:0


Alguien en Github encontró una solución: en lugar de escribir:

Mongoose.connect(config.database.url);

Escribir:

Mongoose.connect(config.database.url, { keepAlive: true, reconnectTries: Number.MAX_VALUE, useMongoClient: true });

(Fuente https://github.com/Automattic/mongoose/issues/5399 )


Intente agregar 127.0.0.1 localhost en el /private/etc/hosts .


La primera vez, cometí el error obvio de que mongod (el servidor mongo) ni siquiera se estaba ejecutando.

La segunda vez, tuve el servidor ( mongod ) y el cliente ( mongo ) ejecutándose en mi Windows; en Indicaciones de comando separadas (por supuesto mongo ejecutándose primero). mongod y / o su mongod comando se "colgó" (es decir, la última línea solo decía esto, y la última línea se mantuvo así a pesar de los intentos de conexión :)

2017-06-20T12:31:02.937-0600 I NETWORK [thread1] waiting for connections on port 27017

Hice clic en el símbolo del sistema presionando la barra espaciadora para "patearlo", y el símbolo del sistema imprimió líneas como estas:

2017-06-20T12:31:48.517-0600 I NETWORK [thread1] connection accepted from 127.0.0.1:50260 #1 (1 connection now open)

Que funciono


No importa, pude resolver el problema usando 127.0.0.1 en lugar de localhost, no estoy seguro de por qué tengo que usar la dirección IP. Mi servidor Tomcat, Apache, Redis e incluso el servidor de nodos funcionan con localhost pero no con el mongodb. ¿Hay alguna configuración que deba cambiar para que funcione con el host local?


Sí, me encontré con este error también, y mis hosts son los siguientes: 127.0.0.1 xxxxxx(the ip of my computer) y cuando ejecuté npm start en el proyecto Express, se npm start un error como ese. Después de que intenté cambiar la asignación de 127.0.0.1 a localhost , no tenía ningún error.