使用日期fns筛选Sequelize



我正在尝试使用date-fnsisToday方法来筛选今天保存在数据库中的记录。我可以在sequelize查询中执行此操作吗?下面是我尝试的方法:

import { isToday } from 'date-fns';
import Buy from '../models/Buy';
class VolumeController {
// Exibir o total de Bitcoins comprados e vendidos no dia
async show(req, res) {
const buys = await Buy.findAll({
where: {
created_at: isToday(created_at),
},
attributes: ['id'', 'buy_value', 'quantity', 'created_at'],
});
return res.json({ buys });
}
}

我按如下方式解决了它。我使用了date-fns库的startOfDayendOfDay方法。我还需要sequelize库中的between运算符。

import { Op } from 'sequelize';
import { startOfDay, endOfDay } from 'date-fns';
import Buy from '../models/Buy';
class VolumeController {
// Exibir o total de Bitcoins comprados e vendidos no dia
async show(req, res) {
const today = new Date();
const buys = await Buy.findAll({
where: {
created_at: {
[Op.between]: [startOfDay(today), endOfDay(today)],
},
},
attributes: ['id', 'account_id', 'buy_value', 'quantity', 'created_at'],
});
return res.json({ buys });
}
}
export default new VolumeController();

最新更新