我在尝试将我的 Cognito 用户子 UUID 添加到我的 Sequelize 表时遇到了很多问题。我已经看到 Sequelize 自动生成自己的 UUID 而不是自定义 UUID 的解决方案?我正在从我的客户端推送 AWS 子 UUID 作为 express 中的有效负载。
模型文件:
function User(sequelize) {
const User = sequelize.define(
"User",
{
id: {
type: DataTypes.UUID,
primaryKey: true,
allowNull: false,
},
客户端 console.log('result: ', user);
console.log('result: ', user.userSub, typeof user.userSub);
console.log('uuid result: ', uuidParse(user.userSub), typeof uuidParse(user.userSub));
let payload = {
id: user.userSub,
username: username,
email: email,
birthday: birthdate
}
const request = {
url: `/api/user`,
method: 'POST',
payload,
};
query(request);
错误:"name":"SequelizeValidationError","errors":[{"message":"User.id cannot be null","type":"notNull Violation","path":"id","value":null,"origin":"CORE"
谢谢
最佳答案
刚刚想通了,似乎我忘记在模型的 createUser 方法中的参数中添加 id 。一切正常
User.createUser = async function ({ **id**, username, email, bio, birthday, gender }) {
return await this.create({
**id**,
username,
email,
bio,
birthday,
gender
});
};
关于node.js - 如何将 AWS Cognito 子 UUID 添加到 Sequelize 表作为主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66485131/