Skip timestamps middleware for certain updates in Mongoose

前端 未结 3 1683
北恋
北恋 2021-01-04 16:14

My application uses Mongoose and has a schema that uses the timestamps option:

var fooSchema = new Schema({
    name: String,
}, {
    timestamps: true,
});
         


        
3条回答
  •  日久生厌
    2021-01-04 17:01

    From mongoose 5 onwards , there is timestamps option which can be passed in Model.updateOne() and model.update() to skip timestamps for this update.

    Directly from docs:

    [options.timestamps=null] «Boolean» If set to false and schema-level timestamps are enabled, skip timestamps for this update. Note that this allows you to overwrite timestamps. Does nothing if schema-level timestamps are not set.

    For example given in the question , timestamp updates can be skipped like this ,

    Foo.updateOne({ __id: someFooId },{ $set: { name: updatedName } }, { timestamps: false });
    

提交回复
热议问题