mongoose-database-schema
v1.0.4
Published
MongoDB database documentation generator with table schemas and relationships
Maintainers
Readme
MongoDB Database Documentor
A Node.js tool for automatically generating comprehensive documentation for MongoDB databases, including schema analysis and relationship detection.
Features
- Schema Analysis: Analyzes document structures and field types across collections
- Relationship Detection: Automatically detects references between collections
- Multiple Output Formats: Generate documentation in Markdown, JSON, or HTML
- Embedded Document Support: Identifies embedded document relationships
- Index Information: Documents database indexes
- Sample-based Analysis: Configurable sample sizes for large collections
Installation
Global Installation (Recommended)
npm install -g mongoose-database-schemaLocal Installation
npm install mongoose-database-schemaUsage
Basic Usage (Global Installation)
mongoose-database-schema -c "mongodb://localhost:27017" -d your_database_nameBasic Usage (Local Installation)
npx mongoose-database-schema -c "mongodb://localhost:27017" -d your_database_nameAdvanced Options
# Generate JSON documentation
mongoose-database-schema -c "mongodb://localhost:27017" -d mydb -o json
# Analyze specific collections only
mongoose-database-schema -c "mongodb://localhost:27017" -d mydb --collections "users,orders,products"
# Use larger sample size for better accuracy
mongoose-database-schema -c "mongodb://localhost:27017" -d mydb -s 500
# Generate HTML documentation
mongoose-database-schema -c "mongodb://localhost:27017" -d mydb -o htmlCommand Line Options
-c, --connection: MongoDB connection string (required)-d, --database: Database name (required)-o, --output: Output format - markdown (default), json, or html-s, --sample-size: Number of documents to sample per collection (default: 100)--collections: Comma-separated list of specific collections to analyze
Output
The tool generates documentation in the docs/ directory:
Markdown Output (default)
README.md: Database overview[collection-name].md: Individual collection documentationrelationships.md: Relationship summary
JSON Output
database-documentation.json: Complete documentation in JSON format
HTML Output
database-documentation.html: Single HTML file with all documentation
Examples
Connect to Local MongoDB
mongoose-database-schema -c "mongodb://localhost:27017" -d ecommerceConnect to MongoDB Atlas
mongoose-database-schema -c "mongodb+srv://user:[email protected]" -d production_dbAnalyze Specific Collections
mongoose-database-schema -c "mongodb://localhost:27017" -d myapp --collections "users,posts,comments"What Gets Documented
Collection Schema
- Field names and types
- Data type frequency across documents
- Example values for each field
- Nested document structures
Relationships
- Reference relationships (ObjectId and string-based)
- One-to-many and many-to-one relationships
- Embedded document relationships
- Relationship confidence levels
Database Metadata
- Document counts per collection
- Index information
- Collection statistics
Relationship Detection
The tool automatically detects:
- ObjectId References: Fields containing ObjectIds that reference other collections
- String References: Fields following naming conventions (e.g.,
user_idreferencingusers) - Array References: Arrays containing references to other documents
- Embedded Documents: Nested objects within documents
Requirements
- Node.js 14+
- MongoDB 4.0+
- Network access to MongoDB instance
License
MIT
