【发布时间】:2021-05-18 00:18:32
【问题描述】:
我想创建一个包含 10 个标题、10 个正文和 10 个图像的表单。像 Instagram 一样,但每张照片的标题都不同。我想将它插入到每个数组中。包含 10 个标题的标题数组、文章每个部分的正文数组等。在模型模式中,我创建了一个这样的数组:
const postSchema = new mongoose.Schema({
title:[{
type:String,
required:true
}],
body:[{
type:String,
required:true
}],
photo:[{
type:String,
require:false
}],
postedBy:{
type:ObjectId,
ref:'User'
}
})
mongoose.model('Post',postSchema)
在路由文件中
router.post('/createpost',requireLogin,(req,res)=>{
const {title=[],body=[],pic=[]} = req.body
if(!title[0] || !body[0]){ //atleast 1 body and 1 title should be present
return res.status(422).json({error:"Please add all the fields"})
}
const post = new Post({
title[],
body[],
photo:pic[],
postedBy:req.user
})
post.save()
.then(result=>{
res.json({post:result})
})
.catch(err=>{
console.log(err)
})
})
但这肯定是不对的 另外,如何仅在 10 个字段中停止此操作
【问题讨论】:
标签: node.js arrays mongodb mongoose backend