egg.js(五):Sequelize之Op模块

承接自之前的 egg.js(三)增删改查操作,对Op操作符进行记录。

  • Op操作符的基本使用
async findMultiple(){
	// 解构出keyword关键词
	let {keyword} = this.ctx.request.body
	let Op = this.app.Sequelize.Op
	let res = await this.app.model.User.findAll({
		where:{
			username:{
				// 查询username中有keyword关键词的数据
				[Op.like]:'%'+keyword+'%'
			}
		}
	})
}

详细记录如下:

[Op.and]:{a:5}											// 且 a=5
[Op.or]:[{a:5},{a:6}]	  								// a=5或者a=6
[Op.gt]:6                    							// id > 6
[Op.gte]:6												// id >=6
[Op.lt]:10												// id <6
[Op.lte]:10												// id <=10
[Op.ne]:20			  	 								// id != 20
[Op.eq]:3 			   									// =3
[Op.not]:true           								// 不是true
[Op.between]:[1,10]										//110之间
[Op.notBetween]:[1,10]									// 不在110之间
[Op.in]:[1,2]											//[1,2]之中
[Op.notIn]:[1,2]										// 不在[1,2][Op.like]:'%adm'										// 模糊查询,包含 '%adm'
[Op.notLike]:'%adm'										// 不包含 '%adm'
[Op.iLike]:'%adm'										// 包含'%adm' (不区分大小写)(仅限PG)
[Op.notILike]:'%adm'									//不包含 '%adm'  (不区分大小写)(仅限PG)
[Op.startswith]:'adm'									// 类似 'adm%','adm'开头
[Op.endswith]:'adm'										// 类似 '%adm',以adm结尾
[Op.substring]:'adm'									// 类似 '%adm%',包含有'adm'
[Op.regexp]:'^[a|d|m]'									// 匹配正则表达式  (仅限Mysql/PG)
[Op.notRegexp]: '^[a|d|m]' 								// 不匹配正则表达式/!~ '^[a|d|m]' (仅限 MySQL/PG)
[Op.iRegexp]: '^[a|d|m]'    							// ~* '^[a|d|m]' (仅限 PG)
[Op.notIRegexp]: '^[a|d|m]' 							// !~* '^[a|d|m]' (仅限 PG)
[Op.like]: { [Op.any]: ['cat', 'hat']} 					// 包含任何数组['cat', 'hat'] - 同样适用于 iLike 和 notLike
[Op.overlap]: [1, 2]       								// && [1, 2] (PG数组重叠运算符)
[Op.contains]: [1, 2]      								// @> [1, 2] (PG数组包含运算符)
[Op.contained]: [1, 2]     								// <@ [1, 2] (PG数组包含于运算符)
[Op.any]: [2,3]            								// 任何数组[2, 3]::INTEGER (仅限PG)
[Op.col]: 'user.organization_id' 						// = 'user'.'organization_id', 使用数据库语言特定的列标识符, 本例使用 PG
....
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值