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.js
agregamos 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
* @author: Cristian Moreno Zulauaga <khriztianmoreno@gmail.com>
*/
const express = require('express');
const http = require('http');
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/environment
creamos 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://admin:<password>@cluster0-ddb2f.mongodb.net/test?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.
Last updated
Was this helpful?