Mongoose Version is a mongoose plugin to save document data versions. Documents are saved to a "versioned" document collection before saving original documents and kept for later use.
$ npm install mongoose-version
To use mongoose-version for an existing mongoose schema you'll have to require and plugin mongoose-version into the existing schema.
The following schema definition defines a "Page" schema, and uses mongoose-version plugin with default options
var mongoose = ;var Schema = mongooseSchema;var version = ;var Page =title : type : String required : truecontent : type : String required : truepath : type : String required : truetags : StringlastModified : Datecreated : Date;Page;
Mongoose-version will define a schema that has a refId field pointing to the original model and a version array containing cloned copies of the versioned model.
Mongoose-version will add a static field to Page, that is "VersionedModel" that can be used to access the versioned model of page, for example for querying old versions of a document.
arraystrategy, for storing versioned documents in multiple documents specify
arraystrategy. Specifies how many historic versions of a document should be kept. Defaults to
_idfield used in your document. Will be used to set the type of the refId. Defaults to
In case you only want to specify the collection name, you can pass a string instance to options that is taken as collection name. Options may be passed as follows:
Mongoose-version uses the debug module for debug messages. You can enable mongoose-version debug logs by setting the
DEBUG environment variable to
on Windows use
Debug messages are logged if a version was persisted to mongodb or a version was removed from mongodb.