UNPKG

mongodb-track-changes-rollback-plugin

Version:

A plugin for tracking create, update, and delete operations with rollback support and snapshots for MongoDB/Mongoose

23 lines (19 loc) 805 B
import mongoose, { Document, Schema, Model } from 'mongoose'; export interface IChangeSnapshot extends Document { documentId: mongoose.Types.ObjectId; collectionName: string; version: number; snapshot: Record<string, any>; createdAt: Date; } const ChangeSnapshotSchema = new Schema<IChangeSnapshot>( { documentId: { type: Schema.Types.ObjectId, required: true, index: true }, collectionName: { type: String, required: true }, version: { type: Number, required: true }, snapshot: { type: Schema.Types.Mixed, required: true }, }, { timestamps: { createdAt: true, updatedAt: false } } ); export const ChangeSnapshot: Model<IChangeSnapshot> = mongoose.models.ChangeSnapshot || mongoose.model<IChangeSnapshot>('ChangeSnapshot', ChangeSnapshotSchema);