Skip to content

kikiutils/node-mongoose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

446 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@kikiutils/mongoose

npm version npm downloads codecov License

A Mongoose plugin for enhanced JSON normalization and common schema creation, with built-in support for pagination and automatic Decimal128 conversion.

Features

  • ✨ 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 converts Decimal128 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

Requirements

  • Mongoose >=9
  • Node.js >=22.12.0

Installation

Using pnpm:

pnpm add @kikiutils/mongoose mongoose

You can also use yarn, npm, or bun.

Usage

To be completed.

License

MIT License

About

A Mongoose plugin for enhanced JSON normalization and common schema creation, with built-in support for pagination and automatic Decimal128 conversion.

Resources

License

Stars

Watchers

Forks

Contributors