【发布时间】:2022-12-17 17:54:48
【问题描述】:
好的,听起来确实如此,但让我解释一下。我使用 mern stack 创建一个 CRUD 应用程序,我首先从后端开始。这是我自己创建的第一个应用程序,所以它非常基础。它只有两个模型,用户模型和产品模型。当我创建 Product 模型时,我添加了一个图像属性并给它一种对象。甚至不确定这是否正确。我完成了身份验证部分,所以我从“创建产品”路线开始。我知道处理图片上传与处理其他属性不同。那么在创建产品时我将如何处理图片上传?我会在下面发布一些代码作为上下文。
我的产品型号:
const mongoose = require('mongoose')
const ProductSchema = new mongoose.Schema({
name:{
type: String,
required: [true, 'please provide a product name'],
maxlength: 20,
minlength: 3
},
category: {
type: String,
required: [true, 'please provide a category'],
maxlength: 20,
minlength: 3
},
quantity: {
type: Number,
required: [true, 'please provide the quantity']
},
price: {
type: Number,
required: [true, 'please provide the price']
},
description: {
type: String,
required: [true, 'please provide the description'],
trim: true
},
image: {
type: Object,
default: {}
},
createdBy: {
type: mongoose.Types.ObjectId,
ref: 'User',
required: [true, 'Please provide the user'],
},
},
{ timestamps: true }
)
module.exports = mongoose.model('Product', ProductSchema)
我的产品控制器:
const Product = require('../models/Product')
const getAllProducts = async (req, res) => {
res.send('get All products')
}
const createProduct = async (req, res) => {
res.send('create Product')
}
const getProduct = async (req, res) => {
res.send('get product')
}
const updateProduct = async (req, res) => {
res.send('update product')
}
const deleteProduct = async (req, res) => {
res.send('delete product')
}
module.exports = {
getAllProducts, createProduct, getProduct, updateProduct, deleteProduct
}
【问题讨论】:
标签: node.js image express model mern