← ClaudeAtlas

mongodblisted

MongoDB 数据库管理
ryukyagamilight/terminal-skills · ★ 1 · AI & Automation · score 79
Install: claude install-skill ryukyagamilight/terminal-skills
# MongoDB 数据库管理 ## 概述 MongoDB 操作、索引优化、分片集群等技能。 ## 连接管理 ```bash # 本地连接 mongosh mongosh --port 27017 # 远程连接 mongosh "mongodb://hostname:27017" mongosh "mongodb://user:password@hostname:27017/database" # 副本集连接 mongosh "mongodb://host1:27017,host2:27017,host3:27017/database?replicaSet=rs0" # 执行脚本 mongosh script.js mongosh --eval "db.collection.find()" ``` ## 基础操作 ### 数据库操作 ```javascript // 显示数据库 show dbs // 切换/创建数据库 use mydb // 删除数据库 db.dropDatabase() // 数据库统计 db.stats() ``` ### 集合操作 ```javascript // 显示集合 show collections // 创建集合 db.createCollection("users") // 删除集合 db.users.drop() // 集合统计 db.users.stats() ``` ### CRUD 操作 ```javascript // 插入 db.users.insertOne({ name: "John", age: 30 }) db.users.insertMany([{ name: "Jane" }, { name: "Bob" }]) // 查询 db.users.find() db.users.find({ age: { $gt: 25 } }) db.users.findOne({ name: "John" }) db.users.find().limit(10).skip(20).sort({ age: -1 }) // 更新 db.users.updateOne({ name: "John" }, { $set: { age: 31 } }) db.users.updateMany({ age: { $lt: 18 } }, { $set: { status: "minor" } }) db.users.replaceOne({ name: "John" }, { name: "John", age: 32 }) // 删除 db.users.deleteOne({ name: "John" }) db.users.deleteMany({ status: "inactive" }) ``` ## 索引管理 ```javascript // 查看索引 db.users.getIndexes() // 创建索引 db.users.createIndex({ email: 1 }) // 升序 db.users.createIndex({ name: 1, age: -1 }) // 复合索引 db.users.createIndex({ email: 1 }, { unique: true }) // 唯一索引 db.users.createIndex({ location: "2dsphere"