1.0.5 • Published 2 years ago

@folhomee-public/mongoose-tracker v1.0.5

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
2 years ago

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

FieldsTypesDefaultDescription
fieldsToTrackArrayStringnoneArray that contain fields to track
nameString'__updates'name of the Array that will contains fields
limitNumber30Number 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

FieldsTypesDescription
fieldStringname of key field
changedToStringvalue of key field
atDatetime 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