Estoy escribiendo una simple llamada de correos. Mi código es el siguiente:
var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); var port = process.env.PORT || 8080; var router = express.Router(); var mongoose = require('mongoose'); mongoose.connect('mongodb://node:node@novus.modulusmongo.net:27017/Iganiq8o'); router.use(function(req, res, next) { console.log('Something is happening.'); next(); });enter code here router.get('/', function(req, res) { res.json({ message: 'hooray! welcome to our api!' }); }); var Bear = require('./app/models/bears'); router.route('/bears') .post(function(req, res) { var bear = new Bear(); bear.name = req.body.name; bear.save(function(err) { if (err) res.send(err); res.json({ message: 'Bear created!' }); }); }); app.use('/api', router); app.listen(port); console.log('Magic happens on port ' + port);Anteriormente estaba recibiendo el siguiente error
failed to connect to [novus.modulusmongo.net:27017]
que rectifiqué actualizando mongoose pero ahora todavía recibo otro error como:
/node_modules/mongoose/node_modules/mongodb/lib/server.js:242 process.nextTick(function() { throw err; }) ^Error: conectar ETIMEDOUT 54.209.84.209:27017
Intenté con la siguiente muestra
var mg= require('mongoose'); var db = mg.connection; mg.connect('mongodb://node:node@novus.modulusmongo.net:27017/Iganiq8o'); db.on('open', function (ref) { console.log('open connection to mongo server.'); }); db.on('connected', function (ref) { console.log('Connected connection to mongo server.'); }); db.on('disconnected', function (ref) { console.log(ref); console.log('disconnected connection.'); }); db.on('close', function (ref) { console.log('close connection.'); }); db.on('error', function (ref) { console.log(ref); console.log('Error connection.'); }); db.on('reconnected', function () { console.log('MongoDB reconnected!'); });A continuación se muestra el error que tengo.
{ MongoError: failed to connect to server [novus.modulusmongo.net:27017] on first connect at Pool.<anonymous> (E:\v2.4.1\node_modules\mongoose\node_modules\mongodb-core\lib\topologies\server.js:313:35) at emitOne (events.js:96:13) at Pool.emit (events.js:188:7) at Connection.<anonymous> (E:\v2.4.1\node_modules\mongoose\node_modules\mongodb-core\lib\connection\pool.js:260:12) at Connection.g (events.js:291:16) at emitTwo (events.js:106:13) at Connection.emit (events.js:191:7) at Socket.<anonymous> (E:\v2.4.1\node_modules\mongoose\node_modules\mongodb-core\lib\connection\connection.js:162:49) at Socket.g (events.js:291:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at emitErrorNT (net.js:1278: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 [novus.modulusmongo.net:27017] on first connect' }Entonces, creo que esencialmente es solo que la cadena de conexión, el puerto, el nombre de usuario o la contraseña son incorrectos. intente conectarse con el código anterior simplemente cambiando la cadena de conexión, el puerto, el nombre de usuario o la contraseña.
Recuerde que 27017 no es el puerto predeterminado siempre, especialmente en el servidor alojado
pruebe mlab y vea si se conecta gratis para probar y obtenga su cadena de conexión aquí https://mlab.com/ para ver si todo su código funciona perfectamente
Espero que te ayude