mongoose-plugin-created
A mongoose.js plugin to create a document creation timestamp with optional user identifier.
Installation
npm i --save mongoose-plugin-created
API Reference
Example
var createdPlugin = require('mongoose-plugin-created');
var schema = Schema({...});
schema.plugin(createdPlugin[, OPTIONS]);
mongoose-plugin-created~options
Kind: inner property of mongoose-plugin-created
Param | Type | Default | Description |
---|
[options] | object | | |
[options.date] | object | | options for configuring the path for storing the date. |
options.date.useVirtual | boolean | true | use a virtual path to infer the document creation date from the ObjectId _id . Will revert to a real path if options.date.options are specified. |
options.date.path | string | "created.date" | the path for storing the creation date if not a virtual. |
options.date.options | object | | property options to set (type will always be Date ). (e.g. {select: false}) |
[options.by] | object | | options for configuring the path for storing the creator. |
options.by.path | string | "created.by" | the path for storing the document creator. |
options.by.ref | string | | the reference model to use (e.g. {by: {ref: 'ModelRefName'}}) |
options.by.options | object | | property options to set (if not a reference the type will always be String ). (e.g. {select: false}) |
[options.expires] | object | | options for configuring the path to store the expiration time for the document based on the date path. |
options.expires.path | string | "created.expires" | the path for storing the document expiration timestamp. This is an approimation due to MongoDB's method for expiring documents |
options.expires.options | object | | property options to set ()type will always be Date ). (e.g. {select: false}) |
Examples
With Defaults
var createdPlugin = require('mongoose-plugin-created');
var schema = Schema({foo: String});
schema.plugin(createdPlugin);
var Foo = mongoose.model('Foo', schema);
var foo = Foo();
With Options
var createdPlugin = require('mongoose-plugin-created');
var schema = Schema({foo: String});
schema.plugin(createdPlugin, {by: {ref: 'UserModel'}});
var Foo = mongoose.model('Foo', schema);
var foo = Foo();
foo.created.by = userA;
License
Apache 2.0