A Mongoose plugin that archives document diffs and manages document history.
Historical requires a primary key (typically
_id) to be present in your schema.
npm install historical@^2.0.0
Attach the plugin to your schema with any of these optional configuration parameters:
name: Provide a collection name. Defaults to
connection: Provide a mongoose connection for the historical collection. Defaults to your schema's connection.
primaryKeyName: Provide your schema's primary key name. Defaults to
primaryKeyType: Provide your schema's primary key type. Defaults to your schema's primary key field configuration.
ignore: An array of field names to ignore. Fields included in this list will not be stored in history.
var mongoose =ExampleSchema =myField: StringignoredField: StringanotherIgnoredField: String;ExampleSchema;
List historical documents up to the given date for a document.
Returns a document as it was at the given date.
Creates a new historical document by flattening history up to the given date, and deletes the touched historical documents. Useful for pruning or establishing a maximum history retention period.
Take a complete and current snapshot of my document and store it in history. Unmodified documents only.
Clear all history for my document and take a snapshot. Unmodified documents only.