← ClaudeAtlas

mongodblisted

Work with MongoDB databases using best practices. Use when designing schemas, writing queries, building aggregation pipelines, or optimizing performance. Triggers on MongoDB, Mongoose, NoSQL, aggregation pipeline, document database, MongoDB Atlas.
Makiya1202/ai-agents-skills · ★ 2 · API & Backend · score 65
Install: claude install-skill Makiya1202/ai-agents-skills
# MongoDB & Mongoose Build and query MongoDB databases with best practices. ## Quick Start ```bash npm install mongodb mongoose ``` ### Native Driver ```typescript import { MongoClient, ObjectId } from 'mongodb'; const client = new MongoClient(process.env.MONGODB_URI!); const db = client.db('myapp'); const users = db.collection('users'); // Connect await client.connect(); // CRUD Operations await users.insertOne({ name: 'Alice', email: 'alice@example.com' }); const user = await users.findOne({ email: 'alice@example.com' }); await users.updateOne({ _id: user._id }, { $set: { name: 'Alice Smith' } }); await users.deleteOne({ _id: user._id }); ``` ### Mongoose Setup ```typescript import mongoose from 'mongoose'; await mongoose.connect(process.env.MONGODB_URI!, { maxPoolSize: 10, serverSelectionTimeoutMS: 5000, socketTimeoutMS: 45000, }); // Connection events mongoose.connection.on('connected', () => console.log('MongoDB connected')); mongoose.connection.on('error', (err) => console.error('MongoDB error:', err)); mongoose.connection.on('disconnected', () => console.log('MongoDB disconnected')); // Graceful shutdown process.on('SIGINT', async () => { await mongoose.connection.close(); process.exit(0); }); ``` ## Schema Design ### Basic Schema ```typescript import mongoose, { Schema, Document, Model } from 'mongoose'; interface IUser extends Document { email: string; name: string; password: string; role: 'user' | 'admin'; profile: { avatar?: st