我有一个应用程序,每秒可以接收数百个输入请求,其中包含我想保存到数据库中的投票数据。为了不使数据库超载,我对传入的数据进行排队,每隔X秒使用Sequelize的bulkCreate方法将它们一次插入数据库中。但这总是将created_at设置为实际插入的时间(我想,这通常是大多数情况下所需的行为),但是我想知道到达服务器时的实际时间戳,而不是插入时的时间戳。到数据库。
我尝试通过将其添加到我的代码中来
vote.created_at = Date.now()
然后将其添加到数组中,如下所示:
votes.push(vote);
并像这样进行批量插入:
db.Vote.bulkCreate(votes);
但这确实达到了我的描述:它会用实际插入的时间覆盖created_at值。
是否可以更改此行为?我在这里检查了bulkCreate的文档:https://sequelize.org/master/class/lib/model.js~Model.html#static-method-bulkCreate,但是对于此行为似乎没有任何选择?