Masquerade-Circus / mongoose-history-plugin

Mongoose plugin that saves history in JsonPatch format and SemVer format.
Apache License 2.0
47 stars 25 forks source link

Updating object - Bug or WAD? #13

Open stefanwalther opened 5 years ago

stefanwalther commented 5 years ago

Hi,

I am having the following situation:

let schema = mongoose.Schema(
    {
      name: 'string',
      size: 'string',
      infos: {
        type: Object,
        required: true,
        default: {}
      }
    }
  );
  schema.plugin(HistoryPlugin);
  let Tank = mongoose.model('tankExtended', schema);

If I now patch the model, the history is always saved, regardless infos has changed or not.

Do you consider this to be a WAD (e.g. I should use a subdocument), or should some deep-checking happening here?

Thx a lot for your answer & this great project!

Masquerade-Circus commented 4 years ago

You should check if the option noDiffSave and noDiffSaveMethods are true. If this is the case, change the noDiffSave to false.

  noDiffSave: false, // If true save event even if there are no changes
  noDiffSaveOnMethods: ['delete'], // If a method is in this list, it saves history even if there is no diff.