首页 > 解决方案 > 如何附加nodejs sequelize json字段的模型列表

问题描述

如何附加在nodejs Sequelize中归档的JSON列表

数据库:Postgres

我有一个这样的模型字段:

student_list:
    {
        type: Sequelize.ARRAY(Sequelize.JSON),
        allowNull: true
    },

我正在尝试以这种方式附加 JSON 的 Sequelize Array 但未成功附加列表:

var data =  ({'share_by':"aaa",'list_name':"list_name"})
student.update( 
                {'student_list': Sequelize.fn('array_append', Sequelize.col('student_list'), data)},
                {'where': {studet_id: student_id}}
                );

这该怎么做?

标签: javascriptnode.jsjsonpostgresqlsequelize.js

解决方案


您可以执行find()并获取元素值,更新元素并使用更新的数据进行更新。像这样:

// Get the actual student data
const student = await student.findOne(studentId);

// Spread and add the new value
const student_list = {
   ...student_list,
   data
};

// Update the field
await student.update(
    {
        student_list
    },
    {
        where: {
            student_id
        }
    }
);

推荐阅读