Skip timestamps middleware for certain updates in Mongoose

淺唱寂寞╮ 提交于 2019-12-05 02:42:24

I just found a solution and it works perfectly to me.

mongoose.connection.db.collection('player').update(
    {_id: mongoose.Types.ObjectId('56cb91bdc5946f14678934ba')},
    {$set: {name: 'Test'}}
});

This query will not update the updatedAt field. Hope you still need this!

Ajitej Kaushik

What i can get is you are automatically updating the dateTime of updated_at field. You must be passing a default value for the updated_at in your schema, just remove that default field.

For example.

var fooSchema = new Schema({
    name: String,
}, {
    updated_at:{
         type: Date,
         default: Date.now
    }
});
mongoose.model('Foo', fooSchema);

Remove the default field from updated_at and your schema will look like this.

var fooSchema = new Schema({
    name: String,
}, {
    updated_at: Date
});
mongoose.model('Foo', fooSchema);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!