sequelizeよく使われるが覚えにくいクエリー
クエリー指定時間
クエリが等しくないフィールド
同一フィールドOR
関数の使用
配列形式のwhere組合せクエリー
//
const schemaOrderMonth = moment().subtract(1, 'months').format('YYYY-MM');
where.create_time = sequelize.literal('date_format(create_time,"%Y-%m")="'+schemaOrderMonth+'"');
クエリが等しくないフィールド
// amount paid
where.amount: {
$ne: sequelize.col('paid')
},
同一フィールドOR
// no null
const Op = sequelize.Op;
where.no: {
[Op.or]: [ null, '' ]
},
関数の使用
// amount
attributes: [
[sequelize.fn('SUM', sequelize.col('amount')),'sumAmount'],
[sequelize.fn('SUM', sequelize.col('paid')),'sumPaid']
],
配列形式のwhere組合せクエリー
// content file
// atme
where: [
$or: [
sequelize.where(sequelize.col('content'), {
'$like': '%'+keywords+'%'}),
sequelize.where(sequelize.col('file'), {
'$like': '%'+keywords+'%'}),
],
$and: [
sequelize.col('isdel'), {
$eq: 0}),
sequelize.where(sequelize.col('atMe'), {
$eq: 1})
]
],