gpt4 book ai didi

node.js - Sequelize 无法向 findAll 响应添加虚拟属性

转载 作者:行者123 更新时间:2023-12-03 22:37:16 25 4
gpt4 key购买 nike

我有两个查询,如下所示:

getPosts - models.Posts.findAll({where: userId});

getPost-models.Post.findByPk(id);

Posts 有一个虚拟属性 postTemplate,它本质上是一个在前端和后端之间传递的值对象,这样:

postTemplate: {
type: DataTypes.VIRTUAL
}

API 函数(在本例中恰好是 GraphQL 解析器)在返回数据之前附加虚拟属性。
let post = models.Post.findByPk(id);
post.postTemplate = "blah blah blah";
return post;

现在,这有效。但是,当我尝试对 getPosts (findAll) 执行相同操作时,它似乎不想附加该属性。

我在循环内和通过键都尝试过这个,但无济于事。我相信我误解了批量返回记录的方式。
let posts = models.Post.findall();
posts.forEach(async (post) => {
post.postTemplate = "blah blah blah";
})
return posts; // this doesn't work

最佳答案

你能试试这样的吗?我怀疑它不起作用,因为它是一个异步函数

async function(req, res) {
let posts = await models.Post.findall();
posts.forEach((post) => {
post.postTemplate = "blah blah blah";
})
return posts;
}

关于node.js - Sequelize 无法向 findAll 响应添加虚拟属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com