mirror of
https://github.com/duthaho/claudekit.git
synced 2026-07-23 21:21:02 +03:00
1.3 KiB
1.3 KiB
MongoDB
Description
MongoDB patterns including document design, queries, and aggregation.
When to Use
- MongoDB database operations
- Document-based data modeling
- Aggregation pipelines
Core Patterns
Document Operations
// Insert
db.users.insertOne({
email: 'user@example.com',
name: 'John',
createdAt: new Date()
});
// Find
db.users.find({ active: true }).sort({ createdAt: -1 }).limit(20);
// Update
db.users.updateOne(
{ _id: ObjectId('...') },
{ $set: { name: 'Jane' } }
);
Aggregation
db.orders.aggregate([
{ $match: { status: 'completed' } },
{ $group: {
_id: '$userId',
totalSpent: { $sum: '$amount' },
orderCount: { $count: {} }
}},
{ $sort: { totalSpent: -1 } }
]);
Indexes
// Single field
db.users.createIndex({ email: 1 }, { unique: true });
// Compound
db.posts.createIndex({ userId: 1, createdAt: -1 });
Best Practices
- Embed frequently accessed data
- Use references for large/independent data
- Create indexes for query patterns
- Use aggregation for complex queries
- Avoid unbounded arrays
Common Pitfalls
- Unbounded arrays: Limit array size
- Missing indexes: Analyze query patterns
- Over-embedding: Consider data access patterns