使用关联而不是更新关联模型的表来进行续订更新

时间:2018-04-02 14:50:34

标签: javascript node.js orm associations sequelize.js

我有两张桌子:  1. Poll  2. Option

民意调查模型如下:

 const Sequelize = require('sequelize');
 let dbService = require('../services/dbService.js');

 let Option = require('./options');

 let Poll = dbService.define('Poll', {
 poll: {
    type: Sequelize.STRING,
    allowNull: false
 },
 isAnonymous: {
    type: Sequelize.STRING,
    allowNull: false
 },
 startDate: {
    type: Sequelize.STRING,
 },
 endDate: {
    type: Sequelize.STRING,
 },
 active: {
    type: Sequelize.BOOLEAN,

 }
 });

 Poll.hasMany(Option);

 module.exports = Poll;

Option模型如下:

const Sequelize = require('sequelize');
let dbService = require('../services/dbService.js');

let Option = dbService.define("option", {
    name: Sequelize.STRING
});

module.exports = Option;

这是api / poll /:id

的我/ GET路线

This is my /GET route for api/poll/:id

我想更新民意调查。所有其他路线工作正常。我只是坚持更新模型。

/ PUT api / poll /:id的控制器 enter image description here

/ PUT api / poll /:id的服务 enter image description here

这只更新了Poll表,Option表的列没有更新。如何使用这样的一对多关联来实现更新?

我也试过这个! Sequelize update with association 我甚至做了与续集文档相同的内容。但我无法达到我想要的目标。我已经坚持了一段时间。任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:1)

对于更新,您可以尝试SequelizeModel.upsert()函数。