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
微信扫一扫