A Mongoose plugin for enhanced JSON normalization and common schema creation, with built-in support for pagination and automatic Decimal128 conversion.
- ✨ Flexible Connections: Supports both default and custom connections, automatically creating connections when none are provided
- 🔌 Plugin Integration: Automatically integrates
mongoose-aggregate-paginate-v2
,mongoose-paginate-v2
, and custom normalization for cleaner JSON outputs - 🛠 Predefined & Customizable Schemas: Provides common schemas (boolean, date, decimal128, number, objectId, string) with the flexibility to customize attributes such as
private
,required
,unique
,default
, and more - 🧮 Decimal Precision: Supports
Decimal128
fields with options for automatic rounding and fixed decimal precision - 🔄 Optimized JSON Output: Adds an
id
field, removes_id
and__v
, hides private fields, and convertsDecimal128
fields to strings in JSON responses - 🔄 Reference Management: Enables easy conversion of ObjectId references to fully populated documents with field selection and population options
- 🔧 Utility Functions: Includes helper functions for converting and normalizing documents, handling ObjectId transformations, and processing schema fields
- Mongoose version 8.x
- Node.js version 18.12.1 or higher
Add dependency (example using pnpm).
pnpm add @kikiutils/mongoose mongoose
You can also use yarn, npm, or bun to add the dependency.
That's it! You're ready to use this package in your project. Check out the usage instructions below ✨.
Please refer to the examples folder for usage instructions of this package.