我的对象同时记录所有日志,是否需要更改架构?

时间:2019-11-05 16:00:00

标签: node.js express mongoose

我正在一个博客类型的网站上工作,该站点允许我发布文章,也可以使我单独上传图像。我想将图像与帖子相关联。

我将所有带有标题和正文的帖子保存到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值实际上给了我一个错误。

我肯定会犯一个明显的错误,但是我对此视而不见。 任何建议都值得赞赏。

0 个答案:

没有答案