node.js - Sequelize.js - 将项目添加到表中,连接到不同表中的用户

标签 node.js sequelize.js

我有一个用户颜色表。在我的示例中,users 表中已存在一个用户行。我希望能够向现有用户添加颜色(或连接颜色)。

协会的成立方式如下:

db.color.belongsTo(db.user);
db.user.hasMany(db.color);

因此用户可以附加多种不同的颜色。

为了向用户添加颜色,我尝试了以下操作:

db.color.create({
    colorName: 'blue',
    include: [{
        model: db.user,
        where: {
            id: 12454
        }
    }]
})

虽然这会向 colors 表中添加一个新的颜色行,但它不会将其连接到给定的用户;它给出了这个结果:

{"id":1,"colorName":"blue","userId":null}

如何将此颜色连接到 users 表中的指定用户?

最佳答案

请尝试以下操作

引用文献:Sequelize documentation

let UserInfo = user.find({
    where: {id: 12454}
});
let addColor = color.create({name: "blue"});

sequelize.Promise.all([UserInfo, addColor]).spread((User, Color)=> {
    return Color.setUser(User);
});

connection.Promise is a bluebird Object which is exposed by Sequelize.

关于node.js - Sequelize.js - 将项目添加到表中,连接到不同表中的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45929234/

相关文章:

node.js - 我的 DynamoDb 连接每次都会关闭吗?

node.js - 当覆盖下划线字段时,Sequelize 不会清理 dataValues

node.js - Sequelize findAll 上的验证错误

javascript - 为什么我的 Sequelize DB 不与 V6 同步?

node.js - 当模型有 2 个关系时,如何在 Sequelize 中使用 where 包括

postgresql - 如果已经存在空记录,如何在 seqeulize 中添加非空约束?

html - CSS 媒体查询不能在移动设备上运行,但可以在桌面上运行

json - 从数据数组创建单独的标签 - Node.js

node.js - bash:create-react-app:找不到命令(很确定这是我的 $PATH)

node.js - 使用 mongodb 创建数据库 node.js