【发布时间】:2020-11-17 22:29:12
【问题描述】:
目前我正在尝试为每个用户显示他们喜欢的帖子,并且对于我想使用上述方法将图像显示为 url 和 thumbnailurl 的帖子。
我按照与之前的问题相同的步骤,不断收到错误无法读取属性映射。
router.get("/likes", auth, (req, res) => {
let { id } = req.user;
User.findByPk(id, {
include:[{model:Likes,
include: [
{
model: Post,
include: [
{ model: Post_Image, attributes: ["id", "images"]},
],
},
],
}],
}).then((user) => {
if (!user)
return res.status(404).send();
const baseUrl = config.get("assetsBaseUrl");
const plainUser = user.get({ plain: true });
const resultLikes = [];
for (const like of plainUser.Likes) {
const { Post_Images, ...postAttributes } = like;
const IMAGES = Post_Images.map((postImage) => ({
url: `${baseUrl}${postImage.images}_full.jpg`,
thumbnailUrl: `${baseUrl}${postImage.images}_thumb.jpg`,
}));
resultLikes.push({ ...postAttributes, images: IMAGES });
}
res.send(resultLikes);
});
});
【问题讨论】:
-
你确定解构对象后的
like包含一个数组吗? resurrn 值也将是一个数组。您能否提供一个简单的示例,说明您希望获得什么,您将获得什么? -
(node:56344) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'map' of undefined 我目前得到这个
标签: node.js sequelize.js