一开始我是通过sequelize,define()来绑定表,但是在利用findone方法时,生成的findOrCreate时defaults不起作用,并且在调用findOne时所得到的实例只有“id”,"createdAt"和"updatedAt"
async function findRegister(){
const sequelize = new Sequelize('news','root','',{
host:'localhost',
dialect:'mysql'
});
const User = await sequelize.define("User",{},
{
tableName:'info_user'
});
const [project,created] = await User.findOrCreate({
where: {nick_name:username},
defaults:{
nick_name:username,
username:username,
password_hash:password
}
})
if (project === null) {
console.log('Not found!');
} else {
console.log(project.nick_name); // 'My Title'
}
}
后来经过调用几个方法发现在绑定时,需要把要得到的数据在定义时指出
async function findRegister(){
const sequelize = new Sequelize('news','root','',{
host:'localhost',
dialect:'mysql'
});
const User = await sequelize.define("User",{
//定义我想要在实例中得到的属性
nick_name:DataTypes.TEXT,
username:DataTypes.TEXT,
password_hash:DataTypes.STRING
},{
tableName:'info_user'
});
const [project,created] = await User.findOrCreate({
where: {nick_name:username},
defaults:{
nick_name:username,
username:username,
password_hash:password
}
})
if (project === null) {
console.log('Not found!');
} else {
console.log(project.nick_name); // 'My Title'
}
}