@folhomee-public/mongoose-tracker
v1.0.5
Published
Is a mongoose plugin that automatically keeps track of when the document has been created, updated and optionally when some fields have been modified
Downloads
1
Maintainers
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-tracker
With Yarn :
yarn add @folhomee/mongoose-tracker
Options
| 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