Conectando a Mongosse 🔌
Necesitamos obtener la cadena de conexión de nuestra base de datos alojada en MongoDB Atlas y para eso vamos hacer los siguientes pasos:
- En el cluster creado con anterioridad, damos click en el botón - CONNET.
- Una vez en el modal, damos click sobre el enlace - Connect your Application.
- Se desplegara la información, correspondiente a nuestra cadena de conexión, copiamos la linea de tu cluster que sera similar a esta. - mongodb+srv://admin:<password>@cluster0-ddb2f.mongodb.net/test?retryWrites=true&w=majority

En el archivo archivo app.jsagregamos las siguientes lineas para generar la conexión a nuestra base de datos.
const mongoose = require('mongoose');
const config = require('./config/environment');
// Connect to MongoDB
mongoose.connect(config.mongo.uri, { useNewUrlParser: true });
mongoose.connection.on('error', (err) => {
  console.error('Error', 'MongoDB connection error', {
    data: err,
    time: new Date().toISOString(),
  });
  process.exit(-1);
});Finalmente nuestro archivo app.js debe quedar similar a este:
/**
 * Main application file
 */
const express = require('express');
const http = require('http');
// New line
const mongoose = require('mongoose');
const expressConfig = require('./config/express');
const routeConfig = require('./routes');
// New Line
const config = require('./config/environment');
// Connect to MongoDB
mongoose.connect(config.mongo.uri, { useNewUrlParser: true });
mongoose.connection.on('error', (err) => {
  console.error('Error', 'MongoDB connection error', {
    data: err,
    time: new Date().toISOString(),
  });
  process.exit(-1);
});
const app = express();
const server = http.createServer(app);
expressConfig(app);
routeConfig(app);
// Start server
function startServer() {
  app.shoppingCartBK = server.listen(config.port, config.ip, () => {
    console.log(`Express server listening on ${config.port}, in ${app.get('env')} mode`);
  });
}
setImmediate(startServer);
// Expose app
module.exports = app;Adicional necesitamos un archivo de configuración para nuestros ambientes de desarrollo, dentro de la carpeta  config/environmentcreamos el archivo index.js con las siguientes lineas de codigo.
/**
 * Default specific configuration
 * @author: Cristian Moreno Zulauaga <khriztianmoreno@gmail.com>
 */
const all = {
  env: process.env.NODE_ENV,
  // Server port
  port: process.env.PORT || 8080,
  // Server IP
  ip: process.env.IP || '127.0.0.1',
  // Should we populate the DB with sample data?
  seedDB: false,
  // Secret for session, you will want to change this and make it an environment variable
  secrets: {
    session: 'w0rksh0p-full5tack-j4v45cr1pt',
  },
  // MongoDB connection options
  mongo: {
    uri: process.env.MONGODB_URI || 'mongodb+srv://<username>:<password>@cluster0-ddb2f.mongodb.net/<database>?retryWrites=true&w=majority',
    db: 'workshop-fullstack-js',
  },
};
module.exports = all;Con estas configuraciones al levantar nuestro servidor, tendremos creado nuestros esquemas en MongoDB Atlas, listos para ser utilizados.
Repositorio: Add the connection with MongoDB
Last updated
Was this helpful?
