所以这是我在使用 post init 挂钩时遇到的一个问题,每当日期更改时我会更新数据库中的一些值。但是当我尝试进行 get 调用时,出现并行保存错误,但是数据库中的值得到更新,如果我再次尝试点击 api,它工作得非常好,那么为什么我只得到这个并行保存错误一次而不是直到日期再次更改。
influencerSchema.post('init', async function (doc) {
let metaData = influencerModel.metaData();
let refreshFields = metaData.refreshFields;
for (let i = 0; i < refreshFields.length; i++) {
if (new Date(doc.currentMembership[refreshFields[i]].dailyCount.date).setHours(0, 0, 0, 0) != new Date().setHours(0, 0, 0, 0)) {
doc.currentMembership[refreshFields[i]].dailyCount.date = Date.now();
doc.currentMembership[refreshFields[i]].dailyCount.count = doc.currentMembership[refreshFields[i]].count;
await doc.save();
}
}
});
这里刷新字段是
refreshFields: ['likes', 'messages', 'matches', 'backtrack']
任何帮助都会很棒谢谢!