Sequelize.js Sequelize:为什么我收到未处理的拒绝SequelizeDatabaseError:column Receiver.Receiver不存在

Sequelize.js Sequelize:为什么我收到未处理的拒绝SequelizeDatabaseError:column Receiver.Receiver不存在,sequelize.js,Sequelize.js,Sequelize似乎在寻找Receiver.Receiver,它应该是Receiver.id。我有一个消息实体,它由两个类型为User title、receiver和sender的字段组成 我试着用Sequelize像这样检索它 Message.hasOne(User,{foreignKey: 'receiver', as: 'Receiver'}); Message.hasOne(User,{foreignKey: 'sender',as: 'Sender'}); User.bel

Sequelize似乎在寻找Receiver.Receiver,它应该是Receiver.id。我有一个消息实体,它由两个类型为User title、receiver和sender的字段组成

我试着用Sequelize像这样检索它

   Message.hasOne(User,{foreignKey: 'receiver', as: 'Receiver'});

Message.hasOne(User,{foreignKey: 'sender',as: 'Sender'});

User.belongsTo(Message);

Message.findOne({ where : {id:1},

    include: [{

        model: User,

        as: 'Receiver'

    },

        {

            model: User,

            as: 'Sender'

        }

    ]

}).then(function (message) {



});
可能是什么问题

我添加了使用findOne方法的代码片段,并将hasOne更改为belongsoone。在我的代码中,我得到一个带有消息数据的套接字调用,该数据随后存储在数据库中,然后在promise中检索消息并将其发送给作为接收者的套接字。(注意:每条消息由两个用户组成,他们是发送者或接收者,并且在同一发送者和接收者之间可能存在大量消息)


更改:

Message.hasOne(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.hasOne(User,{foreignKey: 'sender',as: 'Sender'});
Message.belongsTo(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.belongsTo(User,{foreignKey: 'sender',as: 'Sender'});
至:

Message.hasOne(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.hasOne(User,{foreignKey: 'sender',as: 'Sender'});
Message.belongsTo(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.belongsTo(User,{foreignKey: 'sender',as: 'Sender'});
原因:

Message.hasOne(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.hasOne(User,{foreignKey: 'sender',as: 'Sender'});
Message.belongsTo(User,{foreignKey: 'receiver', as: 'Receiver'});
Message.belongsTo(User,{foreignKey: 'sender',as: 'Sender'});
HasOne
belongs以不同的方式插入关联键
模型相互借鉴。HasOne在目标中插入关联键
model whister belong可在源中插入关联键
模型


不属于一对一关系,因为当我尝试使用同一个用户并将其保存到另一个消息实体时,它返回一个错误HasOne and Belongs以相同的方式工作唯一的区别是插入外键好的,我将在当天晚些时候尝试,并让您知道我得到了什么,所以我尝试了,第一次插入成功,但在尝试另一次保存后,我得到了“SequelizeAssociationError:您在两个单独的关联中使用了别名接收器。别名关联必须具有唯一的别名。”然后请发布您的插入查询