mongoose-plugin-created

1.4.3 • Public • Published

mongoose-plugin-created

Codeship Status for CentralPing/mongoose-plugin-created Build Status Code Climate for CentralPing/mongoose-plugin-created Dependency Status for CentralPing/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(); // foo.created --> {date: 'Wed May 05 2015 12:05:50 GMT-0400 (EDT)'}

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 --> {date: 'Wed May 05 2015 12:05:50 GMT-0400 (EDT)'}
foo.created.by = userA; // foo.created --> {date: 'Wed May 05 2015 12:05:50 GMT-0400 (EDT)', by: '507f191e810c19729de860ea'}

License

Apache 2.0

Package Sidebar

Install

npm i mongoose-plugin-created

Weekly Downloads

252

Version

1.4.3

License

Apache-2.0

Last publish

Collaborators

  • centralping-admin
  • jasoncust