首页 > 解决方案 > 填充用户阅读为未定义

问题描述

我在他们的帖子上显示我的用户的个人资料图片时遇到问题。每当我会这样做

Cannot read property 'profilePicture' of undefined

我已经填充了该字段,但无论如何我都会收到此错误。我已经检查了用户是否已存储。

一些与此问题相关的代码。

//index.js
router.get('/' ,async (req, res) => {
      const articles = await Article.find({title: regex}).sort({ createdAt: 'desc'}).populate("user")
      res.render('articles/index', { articles: articles })
})
//The area causing the error
<p class="mb-2">
    <img src="/uploads/profile/<%= article.user.profilePicture %>" class="img-circle" style="width: 50px; height:50px;   border-radius: 75%;">
    <%= article.author %>
</p>
//article.js
const ArticleSchema = new mongoose.Schema({
  title: {
    type: String,
    required: true
  },

  author: {
    type: String
  },

  content: {
    type: String,
    required: true
  },

  createdAt: {
    type: Date,
    default: Date.now
  },

  slug: {
    type: String,
    required: true,
    unique: true
  },

  user : { type: Schema.Types.ObjectId, ref: 'User' },

});
//user.js
const UserSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },

    profilePicture: {
        type: String
    },

    imgType: {
        type: String
    },

    articles: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Article' }]

});

提前,谢谢。

标签: node.jsmongoose

解决方案


推荐阅读