gpt4 book ai didi

model - 如何使用 or (Op.or/$or) 运算符指定该阶段应等于 null OR Junior 或 Senior 进行 Sequelize ?

转载 作者:行者123 更新时间:2023-12-03 22:39:27 26 4
gpt4 key购买 nike

如何使用 or (Op.or/$or) 运算符指定该阶段应等于 null OR Junior 或 Senior 进行 Sequelize ?

const Sequelize = require('sequelize');
const db = require('./_db');

const Student = db.define('student', {
name: {
type: Sequelize.STRING,
allowNull: false,
validate: {
notEmpty: true,
},
phase: {
type: Sequelize.STRING,
defaultValue: null,
$or: [{ phase: null }, { phase: 'junior' }, { phase: 'senior' }],
},
},
});

最佳答案

我认为您可以通过两种方式实现这一目标:

将字段类型更改为 ENUM :

phase: {
type: Sequelize.ENUM('junior', 'senior') ,
defaultValue: null,
}

// ------------ OR -------------

phase: {
type: Sequelize.ENUM ,
values: ['junior', 'senior'] ,
defaultValue: null
}

更多细节: DO READ

OR



设置验证:
const Student = db.define('student', {
...
phase: {
type: Sequelize.STRING,
defaultValue: null,
}
...
} , {
validate: {
checkPhase() {
if (!(this.phase === null || this.phase === 'junior' || this.longitude === 'senior')) {
throw new Error('Phase value should be junior or senior')
}
}
}
});

关于model - 如何使用 or (Op.or/$or) 运算符指定该阶段应等于 null OR Junior 或 Senior 进行 Sequelize ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52168882/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com