Sequelize:将键值附加到 Javascript collection

Sequelize: Append key value to Javascript collection

大家早上好!

我正在使用 Node.js 和 Angular 开发应用程序,但最近有点卡住了。

我需要将 自定义键 -> 值 附加到现有查询结果 collection。

这是我的功能:

exports.findAll = (req, res) => {
    Project.findAll({
            include: [{
                all: true,
                include: [{
                    all: true
                }]
            }]
        })
        .then(data => {
            data.forEach(
                (project) => {
                        // <-------- HERE GOES THE APPEND
                }
            );
            res.send(data);
        })
        .catch(err => {
            res.status(500).send({
                message: err.message || "Error retrieving projects"
            });
        });
};

描述:

从模型查询中获得结果后,我遍历每个结果(也称为项目)。

然后,我需要做的是将键 -> 值对附加到那个项目。

现在,我想做这样的事情:

exports.findAll = (req, res) => {
    Project.findAll({
            include: [{
                all: true,
                include: [{
                    all: true
                }]
            }]
        })
        .then(data => {
            data.forEach(
                (project) => {
                    project.cat = "miaw";
                }
            );
            res.send(data);
        })
        .catch(err => {
            res.status(500).send({
                message: err.message || "Error retrieving projects"
            });
        });
};

这次尝试并没有对我的JSONcollection造成任何改变,我也不知道如何完成。

有人可以帮我吗? 我到处搜索,但找不到任何有用的东西。

非常感谢!

你只需要从模型实例中获取普通对象,然后你可以添加任何你需要的:

const projects = data.map(x => x.get({ plain: true }))
projects.forEach(
  (project) => {
    project.cat = "miaw";
  }
);
res.send(projects);