UNPKG

mongoose-document-versioner

Version:

Force version to increment every time you update or save a mongoose document

28 lines (23 loc) 625 B
const set = require('lodash.set'); module.exports = function (schema) { function incrementVersionOnSave (next) { this.version++; next(); } function incrementVersionOnUpdate (next) { set(this, '_update.$inc.version', 1); next(); } schema.add({ version: { type: Number, required: true, default: 0 } }); schema.pre('save', incrementVersionOnSave); schema.pre('findOneAndUpdate', incrementVersionOnUpdate); schema.pre('updateOne', incrementVersionOnUpdate); schema.pre('updateMany', incrementVersionOnUpdate); schema.pre('update', incrementVersionOnUpdate); };