我正在一个博客类型的网站上工作,该站点允许我发布文章,也可以使我单独上传图像。我想将图像与帖子相关联。
我将所有带有标题和正文的帖子保存到Post模型中,然后将所有图像保存到Image模型中。我现在正在尝试将Image模型嵌入到Post文档中。
首先创建图像架构和模型,然后创建发布架构和模型,然后将“ imageSchema”添加为发布架构的最后一个字段:
const imageSchema = {
url: String,
id: String
};
const Image = new mongoose.model("Image", imageSchema);
const postSchema = {
title: String,
content: String,
image: imageSchema
};
const Post = new mongoose.model("Post", postSchema);
然后我上传图片以与单个帖子关联:
Image.create(img) // save image information in database
.then(newImage => { Post.updateOne({_id: postId}, {image: { url:
img.url, id: img.id }} , function(err, foundPost){
if(!err){
res.json(foundPost);
} else {
res.send(err);
}
}); })
.catch(err => console.log(err));
我希望看到一个内部有一个“图像”对象的post对象,其中包含一个url和一个id,然后我希望能够仅记录一个值(image.url)
实际上,我看到图像对象具有正确的值,但是一个值的对数输出整个图像对象。尝试在ejs中使用url值实际上给了我一个错误。
我肯定会犯一个明显的错误,但是我对此视而不见。 任何建议都值得赞赏。