我有一个mongoose模式,如下所示:
var schema = new Schema({
id:Number
updated_at:Date
});
我正在使用findOneAndUpdate()
来更新此模型,如下所示
model.findOneAndUpdate(
{ id: json.id },
json,
{
upsert: true,
runValidators: true
})
.then(() => {
recordsUpdated++;
})
.catch((err) => {
this.emit('error', err);
});
传递给json
的值不正确,我需要对其进行一些修改。我正在寻找一个预钩子来进行修改。我已经尝试过。
faction.pre('findOneAndUpdate', function (next) {
this.update({ $set: { updated_at: this.getUpdate().updated_at * 1000 } });
next();
});
简而言之,我想在更新数据库之前将以秒为单位的时间戳转换为毫秒,但这并不起作用。
findOneAndUpdate
之前,在中间件中修复json
似乎是错误的做法:json.updated_at *= 1000;
- JohnnyHK