node.js - español - node js express mongodb rest api
Mongodb: no se pudo conectar al servidor en la primera conexión (8)
Cambiado
mongodb://localhost:27071/local
a
localhost/local
Y el error se fue
Obtuve el siguiente error:
Warning { MongoError: failed to connect to server [mongodb:27017] on first connect
at Pool.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/topologies/server.js:325:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
at Connection.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/pool.js:270:12)
at Connection.g (events.js:292:16)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:191:7)
at Socket.<anonymous> (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/connection.js:173:49)
at Socket.g (events.js:292:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at connectErrorNT (net.js:1025:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
name: ''MongoError'',
message: ''failed to connect to server [mongodb:27017] on first connect'' }
Aunque recibo esto en la ventana de la terminal donde ejecuto Mongo:
2016-12-25T03:45:23.715+0100 I NETWORK [initandlisten] connection accepted from 127.0.0.1:58868 #8 (8 connections now open)
Parece que hay una conexión ...
He probado los dos
$ mongod
y
$ brew services start mongo
Este es mi test_helper.js
const mongoose = require(''mongoose'');
mongoose.connect(''mongodb:localhost/users_test'');
mongoose.connection
.once(''open'', () => console.log(''Good to go!''))
.on(''error'', (error) => {
console.warn(''Warning'', error);
});
No he hecho específicamente el db "users_test" ya que tengo la impresión de que mongoose o mongo o ambos lo harán sobre la marcha.
He intentado tanto "localhost" como "127.0.0.1". Estoy en OSX 10.11.5. Estoy ejecutando Node 7.3.0 y Mongo 3.2.9
¿Qué estoy haciendo mal? ¿Cómo puedo averiguar lo que está mal?
Estaba ejecutando mongod en una instancia de PowerShell. No estaba obteniendo ninguna salida en la consola powershell de mongod. Hice clic en la instancia de PowerShell donde se estaba ejecutando mongod, presioné Intro y se reanudó la ejecución. No estoy seguro de qué causó la detención de la ejecución, pero puedo conectarme a esta instancia de mongo inmediatamente ahora.
Estaba intentando conectar mlab con la conexión wifi de mi empresa y estaba dando este error. Pero cuando cambié a la red personal funcionó y se conectó.
Me encontré con este problema en los horarios, y aquí hay una troubleshooting list
- asegúrese de que la
database path
exist
, la ruta predeterminada en Windows enC:/data/db
- asegúrese de que
mongo is running
, para ejecutarlo, vaya aC:/Program Files/MongoDB/Server/3.4/bin
y ejecute lo siguiente:-
mongod.exe
-
mongo.exe
-
- asegúrese de que su
connection string is correct
comomongdb://localhost/database-name
Mientras estaba conectado a una red wifi, mongodb://localhost/db_name
funcionó como se esperaba.
Cuando no estaba conectado a ninguna red wifi, esto no podía funcionar. En su lugar usé mongodb://127.0.0.1/db_name
y funcionó.
Probablemente un problema que ver con las configuraciones de ip.
Para mí, el problema era que mongo no se estaba ejecutando. Así que primero comencé el comando "mongod" en la consola. Y luego, en otra pestaña de la consola, ejecuté "mongo". Ahora la conexión es exitosa. Ahora ejecuta tu aplicación tu problema debe ser resuelto.
Recibí el mismo error mientras intentaba conectar mlab db, porque la red de mi organización tiene algunas restricciones, cambié al punto de acceso móvil y funcionó.
Para conectarse a mongodb
con mongoose
, puede utilizar:
mongoose.connect(''mongodb://localhost/users_test'');
o
mongoose.connect(''localhost/users_test'');
o
mongoose.connect(''localhost'',''users_test'');
Pero no mongoose.connect(''mongodb:localhost/users_test'');
, no coincide con el nombre de host correcto ( mongodb
lugar de localhost
)