Package Exports
- @folhomee-public/mongoose-tracker
- @folhomee-public/mongoose-tracker/build/index.es.js
- @folhomee-public/mongoose-tracker/build/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@folhomee-public/mongoose-tracker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Mongoose Tracker
Mongoose Tracker is a mongoose plugin that automatically keeps track of when the document has been created & updated. Rewrite from old mongoose-trackable which has not been updated for 7 years
Installation
With npm
npm install @folhomee/mongoose-trackerWith Yarn :
yarn add @folhomee/mongoose-trackerOptions
| Fields | Types | Default | Description |
|---|---|---|---|
| fieldsToTrack | Array[String] | none | Array that contain fields to track |
| name | String | '__updates' | name of the Array that will contains fields |
| limit | Number | 30 | Number of element in fieldsToTrack |
Usage
Use as you would any Mongoose plugin :
const mongoose = require('mongoose')
const mongooseTracker = require('@folhomee/mongoose-tracker')
const { Schema } = mongoose.Schema
const CarsSchema = new Schema({
tags: [String],
description: String,
price: { type: Number, default: 0 },
})
CarsSchema.plugin(mongooseTracker, {
limit: 50,
name: 'metaDescriptions',
fieldsToTrack: ['price', 'description'],
})
module.exports = mongoose.model('Cars', CarsSchema)When create/update is successful, a History element is pushed to __updates or the named Array
History
| Fields | Types | Description |
|---|---|---|
| field | String | name of key field |
| changedTo | String | value of key field |
| at | Date | time at modification |
Contributing
- Use eslint to lint your code.
- Add tests for any new or changed functionality.
- Update the readme with an example if you add or change any functionality.
Legal
Author: Folhomee. License Apache-2.0