Tengo un nodo js aplicación en IP ex: 111.111.111.23:3000 quiero conectar desde mi local express/node app script a mi control remoto de la base de datos mongodb. la base de datos se ejecuta en el IP menciono más arriba, pero por alguna razón todo lo que puedo hacer es conectar mi local mongodb databse.

if (app.get('env') === 'development') {
    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });

    mongoose.connect('mongodb://localhost/test');
}

el código de arriba es en mi app.js y funciona, pero lo que yo quiero hacer es algo como esto.

if (app.get('env') === 'development') {
    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });

    mongoose.connect('mongodb:111.111.111.23:27017/test');
}

He intentado añadir la ip con y sin el puerto, pero no lo consigue.

Mi pregunta es ¿cómo puedo conectarme a mi base de datos remota de mi equipo ?

es el caso de esta ayuda. El control remoto se está ejecutando el servidor ubuntu server 14.04 y he instalado mongodb con esta guía: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

Me sale el siguiente error:

Error: conectar ECONNREFUSED 111.111.111.23:27017

  • Parece que te falta el // prefijo antes la dirección de IP.
  • He añadido eso y aún así no funciona.
  • Es su base de datos protegida por contraseña? ¿Su servidor de reenvío de puertos a las solicitudes externas a :27017?
  • ¿El servidor tiene un firewall?
  • mi firewall está inactivo.
  • mi servidor se está ejecutando en ubuntu 14.04 así que por defecto el firewall de inactivos.
  • En caso de no conectarse con un nombre de usuario/contraseña de acceso a su base de datos remota ?
  • estoy usando autenticación ssh, así que puedo acceder a mi servidor remoto sin necesidad de contraseña.

InformationsquelleAutor user3862830 | 2015-11-09

2 Comentarios

  1. 6

    La mangosta conexión de formato es:

    mongoose.connect('mongodb://username:[email protected]:port/database')

    si no dispone de nombre de usuario y contraseña, solo tiene que ejecutar:

    mongoose.connect('mongodb://host:port/database');

    Fuente: http://mongoosejs.com/docs/connections.html

    También se podría tratar de conectarse con el mongo cliente y ver si funciona..

    $ mongo 111.111.111.23:27017

    También, pero no probable, asegúrese de que su mongod servicio.

    $ sudo service mongod start

    Finalmente, asegúrese de que su firewall está abajo o abrir el puerto a través de:

    $ iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
  2. 0

    Aquí está mi código y sigue teniendo el error:
    error:

    E:\nodeJs>node mongoDBApi.js
    
    E:\nodeJs\node_modules\mongodb\lib\mongo_client.js:792
              throw err;
              ^
    [object Object]

    código:

    var MongoClient = require('mongodb').MongoClient;
    var url = 'mongodb://xxxx:[email protected]:22/';
    
    
    MongoClient.connect(url, function(err, db) {
      if (err) throw err;
      var dbo = db.db("cdb");
      dbo.collection("ccollection").findOne({}, function(err, result) {
        if (err) throw err;
        console.info(result.name);
        db.close();
      });
    });

Dejar respuesta

Please enter your comment!
Please enter your name here