@folhomee-public/mongoose-tracker
TypeScript icon, indicating that this package has built-in type declarations

1.0.5 • Public • Published

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

Package Sidebar

Install

npm i @folhomee-public/mongoose-tracker

Weekly Downloads

0

Version

1.0.5

License

Apache-2.0

Unpacked Size

1.59 MB

Total Files

10

Last publish

Collaborators

  • milanito