Una vez entendidos los conceptos principales para utilizar moongose, procedemos con crear nuestros modelos y esquemas de la API del carrito de compras, por lo cual necesitamos crear un modelo de productos. Dentro de la carpeta /api/product
creamos un archivo: product.model.js
, con el siguiente código.
Copy const mongoose = require('mongoose');
const { Schema } = mongoose;
const ProductSchema = new Schema({
name: { type: String, uppercase: true, required: true },
availableQuantity: { type: Number, required: true },
price: { type: Number, required: true },
description: { type: String, required: true },
image: { type: String },
slug: { type: String, trim: true },
}, { timestamps: true });
ProductSchema
.path('availableQuantity')
.validate((availableQuantity) => {
if (availableQuantity > 0) {
return true;
}
return false;
}, 'The available quantity must be greater than 0');
ProductSchema
.path('price')
.validate((price) => {
if (price >= 0) {
return true;
}
return false;
}, 'The price cannot be a negative value');
module.exports = mongoose.model('Product', ProductSchema);
Ya hemos creado nuestro primer modelo ahora pasemos a crear el controlador con cada uno de los métodos que el modelo podrá ejecutar.