mongoose-transform-field-plugin
An automatic field transformation plugin for Mongoose 5. Any transformations are registered as save
, update
and findOneAndUpdate
middleware.
Table of Contents
Asynchronous transformation
Direct usage
;;; ; ; // Run as non-parallel Mongoose middleware by defaultMongooseTransformFieldPlugin.transformAsyncschema, 'password', transformer; // Run as non-parallel Mongoose middleware explicitlyMongooseTransformFieldPlugin.transformAsyncschema, 'password', false, transformer; // Run as a parallel Mongoose middlewareMongooseTransformFieldPlugin.transformAsyncschema, 'password', true, transformer;
Schema plugin usage
;;; ; ; // Run as non-parallel Mongoose middleware by default;schema.pluginMongooseTransformFieldPlugin.transformAsync.plugin, config; // Run as non-parallel Mongoose middleware explicitlyconfig =;schema.pluginMongooseTransformFieldPlugin.transformAsync.plugin, config; // Run as a parallel Mongoose middlewareconfig =;schema.pluginMongooseTransformFieldPlugin.transformAsync.plugin, config;
Normalisation
This transforms accented characters from a string, trims it and makes it lowercase before storing it in another field. Useful if you want some basic search functionality.
;; ; ; // Direct usageMongooseTransformFieldPlugin.normaliseschema, fields; // Plugin usageschema.pluginMongooseTransformFieldPlugin.normalise.plugin, fields;
Synchronous Transformations
You should really use schema setters instead, but this is included for completeness' sake.
;;; ; ; // Direct usageMongooseTransformFieldPlugin.transformSyncschema, 'password', transform; // Plugin usage; schema.pluginMongooseTransformFieldPlugin.transformSync.plugin, conf;