LoginSignup
0
0

More than 1 year has passed since last update.

Sequelize 30分以内の範囲でレコードデータを取得

Posted at
const { Op } = require('sequelize')

まずは、こちらのOpsequelizeより取得します。

[Op.eq]     =
[Op.ne]     !=
[Op.lt]     <
[Op.lte]    <=
[Op.gt]     >
[Op.gte]    >=
[Op.like]   like
[Op.ilike]  ilike

現在の時間から過去30分間を取得する場合、>=を使用して

new Date(Date.now() - (1000 * 60 * 30))

new Date()はでオブジェクトを生成してDate.now()で基準日から経過時間を返します。
他にもDate.now()を日時で指定する場合、

1秒=1000ミリ秒 (1000)
1分=1000ミリ秒×60秒 (1000 * 60)
1時間=1000ミリ秒×60秒×60分 (1000 * 60 * 60)
1日=1000ミリ秒×60秒×60分×24時間 (1000 * 60 * 60 * 24)
1年=1000ミリ秒×60秒×60分×24時間×365日 (1000 * 60 * 60 * 24 * 365)

こちらを参考にして下さい。
sequelizeidcreatedAtを検索条件にかけた例は

export const getId = async (req: Request, res: Response) => {
  const { Op } = require('sequelize')
  res.json(
    await TableData.findAll({
      where: {
        id: req.params.id,
        createdAt: {
          [Op.gte]: new Date(Date.now() - (1000 * 60 * 30)),
        },
      },
      order: [['created_at', 'DESC']],
    })
  )
}

このような形になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0