【发布时间】:2021-12-08 03:36:09
【问题描述】:
我正在关注关于构建电子商务网站的 MERN 教程。我遇到 UnhandledPromiseRejectionWarning: ValidationError 当我尝试使用邮递员将数据插入数据库时发生此错误,但我无法绕开它。
这是错误
(node:4864) UnhandledPromiseRejectionWarning: ValidationError: Product validation failed: category: 请输入产品类别, price: 请输入产品价格, description: 请输入产品描述, name: 请输入产品名称 在 model.Document.invalidate (D:\Project\ecommerce\node_modules\mongoose\lib\document.js:2907:32) 在 D:\Project\ecommerce\node_modules\mongoose\lib\document.js:2698:17 在 D:\Project\ecommerce\node_modules\mongoose\lib\schematype.js:1280:9 在 processTicksAndRejections (internal/process/task_queues.js:77:11)
这是数据库连接文件
const mongoose = require("mongoose");
const connectDatabase = () =>{
mongoose.connect(process.env.DB_URI).then((data)=>{
console.log(`Mongodb connected with server ${data.connection.host}`);
}).catch((err)=>{
console.log(err);
})
}
module.exports = connectDatabase;
这是架构
const mongoose = require("mongoose");
const productSchema = new mongoose.Schema({
name:{
type:String,
required:[true, "Please enter product name"],
trim:true,
},
description:{
type:String,
required:[true, "Please enter product description"],
},
price:{
type:Number,
required:[true, "Please enter product price"],
maxLength:[7,"Price cannot exceed 7 characters"],
},
rating:{
type:Number,
default:0,
},
images:[
{
public_id:{
type:String,
required:true,
},
url:{
type:String,
required:true,
}
}
],
category:{
type:String,
required:[true, "Please enter product category"],
},
stock:{
type:Number,
required:[true, "Please enter product Stock"],
maxlength:[4, "Stock cannot exceed 4 characters"],
default:1,
},
numberOfReviews:{
type:Number,
default:0,
},
reviews:[
{
name:{
type:String,
required:true,
},
rating:{
type:Number,
required:true,
},
comment:{
type:String,
required:true,
}
}
],
createdAt:{
type:Date,
default:Date.now,
}
})
module.exports = mongoose.model("Product", productSchema);
这是我通过 POST 发送的 json 文件,邮递员一直在发送请求。
"name":"product1",
"price":12000,
"description":"this is a sample product",
"category":"Laptop",
"images":{
"public_id":"sample Image",
"url":"sampleurl"
}
【问题讨论】:
标签: node.js json database mongodb mongoose