Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
SERVICIOS WEB CON EXPRESS JS y MONGO DB
MongoDB es una base de datos opensource NOSQL basada en documentos.
1. Instalación de MongoDB
Descargar MongoDB para Windows:
[Link]
[Link]
Descargar e instalar el administrador gráfico MongoDB Compass:
[Link]
Abrir el Mongo Compass, presionar el botón ‘Connect’ y crear una nueva base de
datos con el nombre, express-server:
1
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
2. Creación de Proyecto e Instalación paquete Mongoose
Crear una nueva carpeta para el proyecto con el nombre express-server, dentro de la
carpeta, utilizando la consola digitar el comando: npm init (Enter a todas las preguntas)
Luego, ingresar a la carpeta e instalar los siguientes módulos:
npm install express –save
npm install mongoose –save
npm body-parser –save
Mongoose, es la librería que permite la conexión a bases de datos Mongo y realizar el
modelado de objetos:
Luego, procedemos a referencia la librería al inicio del archivo [Link]:
Al final del archivo, establecemos conexión con la Base de Datos:
2
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
3. Creación Modelo Usuario
Un modelo es la representación de una colección, comparado con una base de datos
SQL, se puede decir que es una tabla.
Procedemos a crear una nueva carpeta llamada ‘models’ y dentro un archivo con el
nombre [Link], el código de este archivo sería el siguiente:
3
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
Procedemos a instalar un plugin de mongoose, el cual previene que se dupliquen los
valores de los campos indicados como únicos en la colección usuarios.
npm install --save mongoose-unique-validator
Finalmente, el archivo [Link] con la definición de campos y utilizando el plugin
validador, queda de la siguiente manera:
Procedemos a instalar la librería Bcrypt, la cual permite encriptar las contraseñas,
después de eso, creamos una carpeta con el nombre ‘routes’ y dentro un archivo llamado
[Link]:
Este archivo tiene varias consideraciones, la primera es que se exporta el modelo de
usuarios, la segunda es que se exporta Express y Bcrypt, ya que en este archivo
crearemos los Servicios Web relacionados con los usuarios.
4
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
Se crea el archivo [Link], el cual incluirá todos los archivos de rutas:
Finalmente, en el archivo [Link], se debe incluir el archivo index:
5
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
4. Creación de usuarios
Implementamos el Servicio Web para crear usuarios a través del método POST:
6
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
Se envía una petición POST a la dirección [Link] con los datos para
crear el nuevo usuario
Verificamos la creación del documento (registro) en la Base de Datos:
¿Funcionan las validaciones? ¿Qué sucede si intentamos crear otro usuario con el mismo
correo electrónico?
7
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios
En el modelo tenemos especificado que el email es un campo único:
Al tratar de crear un usuario con el mismo correo, efectivamente se retorna un error:
5. Consulta de usuarios
Agregamos el código en el método GET del archivo routes/[Link], para consultar todos
los usuarios de la base de datos:
8
Servicios Web con ExpressJS y Programación Orientada a
MongoDB Servicios