sequelizeよく使われるが覚えにくいクエリー


クエリー指定時間
//           
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})
	]
],