我的 sequelize 模型中有字段用于创建时间戳。见下文
activity_timestamp:{
type: DataTypes.DATE
},
现在我想获取今天创建的所有日期..
let condition = { source_operator_id: req.user_info.operator_id, activity_status: true }
if( currentDate){
condition.activity_timestamp = new Date();
}
TrollyActivityLog.findAll({
where: condition,
include:[
{
model:CustomerProfile,
as:'customerinfo',
required:true,
}
],
limit: limit,
offset: offset
})
我想获得今天创建的所有数据。
答案 0 :(得分:1)
您可以通过以下方式进行。在我的示例中,我使用了 moment.js,但当然,您可以使用 JS 功能获取一天的开始和结束。
let condition = {
source_operator_id: req.user_info.operator_id,
activity_status: true,
};
// For the case when you want to get a data for the specific date
// if (date) {
// condition.activity_timestamp = {
// [Op.and]: [
// {
// [Op.gte]: moment(date)
// .startOf("day")
// .format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"),
// },
// {
// [Op.lte]: moment(date)
// .endOf("day")
// .format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"),
// },
// ],
// };
// }
// If you want to get a data for the current day
condition.activity_timestamp = {
[Op.and]: [
{
[Op.gte]: moment().startOf("day").format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"),
},
{
[Op.lte]: moment().endOf("day").format("YYYY-MM-DDTHH:mm:ss.SSS[Z]"),
},
],
};
TrollyActivityLog.findAll({
where: condition,
include: [
{
model: CustomerProfile,
as: "customerinfo",
required: true,
},
],
limit: limit,
offset: offset,
});