我正在尝试使用date-fns
的isToday
方法来筛选今天保存在数据库中的记录。我可以在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
库的startOfDay
和endOfDay
方法。我还需要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();