MongoDB design patterns for ChronoAI apps. Use when designing database schemas, implementing user authentication with login tracking, or building analytics queries. Covers schema design, indexing strategies, connection pooling, and common patterns for user management.
Resources
1Install
npx skillscat add chronoaiproject/chrono-cli/chrono-mongo Install via the SkillsCat registry.
SKILL.md
ChronoAI MongoDB Patterns
Quick Start
User schema with login tracking:
const userSchema = {
_id: ObjectId,
email: String,
name: String,
passwordHash: String,
createdAt: Date,
updatedAt: Date,
lastLoginTime: Date, // Last successful login
isVerified: Boolean,
};Environment Variables
| Variable | Value | Purpose |
|---|---|---|
MONGODB_URI |
Connection string | Shared MongoDB cluster connection |
MONGODB_DATABASE |
{appName} |
App-specific database name |
Connection Setup (Mongoose)
import mongoose from 'mongoose';
const conn = await mongoose.connect(process.env.MONGODB_URI, {
dbName: process.env.MONGODB_DATABASE,
});Core Update Patterns
On login:
await db.users.updateOne(
{ _id: userId },
{ $set: { lastLoginTime: new Date() } }
);Index Strategy
- Email lookup:
db.users.createIndex({ email: 1 }, { unique: true }) - Login queries:
db.users.createIndex({ lastLoginTime: 1 })
Schema Design Principles
- Embed for 1-few relationships (user -> preferences)
- Reference for 1-many relationships (user -> orders)
- Denormalize for read-heavy data
Reference Docs
- User Schema: user-schema.md
- Authentication: authentication.md
- Common Queries: queries.md
- Index Strategies: index-strategies.md