MongoDB 常用命令速查表

以下是一份 MongoDB 常用命令速查表,涵盖数据库、集合、文档的增删改查、索引管理、聚合操作等场景:


1. 数据库操作

命令 说明
show dbs 查看所有数据库
use <db-name> 切换/创建数据库(需插入数据后才会显示)
db.dropDatabase() 删除当前数据库

2. 集合(Collection)操作

命令 说明
show collections 查看当前数据库的所有集合
db.createCollection("<collection-name>") 创建集合
db.<collection-name>.drop() 删除集合

3. 文档(Document)的 CRUD

插入文档

javascript

复制

复制代码
// 插入单条文档
db.users.insertOne({ name: "Alice", age: 25, role: "admin" });

// 插入多条文档
db.users.insertMany([
  { name: "Bob", age: 30 },
  { name: "Charlie", age: 28 }
]);
查询文档

javascript

复制

复制代码
// 查询所有文档
db.users.find();

// 条件查询(等于)
db.users.find({ age: 25 });

// 条件查询(范围)
db.users.find({ age: { $gt: 25 } }); // 大于25
db.users.find({ age: { $in: [25, 30] } }); // 在指定范围内

// 限制返回字段(1表示包含,0表示排除)
db.users.find({}, { name: 1, _id: 0 });

// 分页与排序
db.users.find().sort({ age: -1 }).skip(10).limit(5); // 按年龄倒序,跳过前10条,取5条
更新文档

javascript

复制

复制代码
// 更新单条文档
db.users.updateOne(
  { name: "Alice" },
  { $set: { age: 26 } } // 更新字段
);

// 更新多条文档
db.users.updateMany(
  { role: "user" },
  { $set: { status: "active" } }
);

// 新增字段或复杂操作
db.users.updateOne(
  { name: "Bob" },
  { $inc: { age: 1 }, $push: { tags: "vip" } } // 年龄+1,添加数组元素
);
删除文档

javascript

复制

复制代码
// 删除单条文档
db.users.deleteOne({ name: "Alice" });

// 删除多条文档
db.users.deleteMany({ age: { $lt: 20 } });

4. 索引管理

命令 说明
db.<collection-name>.createIndex({ field: 1 }) 创建升序索引(1为升序,-1为降序)
db.<collection-name>.getIndexes() 查看集合所有索引
db.<collection-name>.dropIndex("index-name") 删除指定索引

5. 聚合操作(Aggregation)

javascript

复制

复制代码
// 按角色分组统计平均年龄
db.users.aggregate([
  { $group: { _id: "$role", avgAge: { $avg: "$age" } } }
]);

// 多阶段管道:过滤 + 分组 + 排序
db.orders.aggregate([
  { $match: { status: "completed" } }, // 筛选状态为完成的订单
  { $group: { _id: "$product", total: { $sum: "$amount" } } }, // 按商品分组统计总金额
  { $sort: { total: -1 } } // 按总金额降序排列
]);

6. 用户与权限管理

命令 说明
db.createUser({ user: "admin", pwd: "123456", roles: ["root"] }) 创建管理员用户
db.grantRolesToUser("user1", ["readWrite"]) 为用户分配角色
db.getUsers() 查看当前数据库用户

7. 数据备份与恢复

bash

复制

复制代码
# 备份数据库(命令行工具)
mongodump --db mydb --out /backup/

# 恢复数据库
mongorestore --db mydb /backup/mydb/

8. 实用工具命令

命令 说明
db.stats() 查看当前数据库状态(集合数、存储大小等)
db.<collection-name>.stats() 查看集合的详细统计信息
db.<collection-name>.countDocuments({ query }) 统计符合条件的文档数量

注意事项

  1. MongoDB 默认不启用身份验证,生产环境需配置用户权限。

  2. 更新和删除操作建议先查询确认条件,避免误操作。

  3. 聚合管道(aggregate)支持复杂数据处理,灵活但需注意性能。

相关推荐
hexiekuaile5 小时前
mongodb8.2知识
mongodb
The Sheep 20239 小时前
MongoDB与.Net6
数据库·mongodb
点灯小铭11 小时前
基于单片机的智能收银机模拟系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
数据知道13 小时前
一文掌握 MongoDB 存储引擎 WiredTiger 的原理
数据库·mongodb·数据库架构
清风6666661 天前
基于单片机的电加热炉智能温度与液位PID控制系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
列御寇1 天前
MongoDB分片集概述
数据库·mongodb
列御寇1 天前
MongoDB分片集群——集群组件概述
数据库·mongodb
列御寇1 天前
MongoDB分片集群——mongos组件(mongos进程)
数据库·mongodb
列御寇1 天前
MongoDB分片集群分片模式——哈希分片(Hashed Sharding)
数据库·mongodb·哈希算法
列御寇2 天前
MongoDB分片集群——分片键(Shard Keys)概述
数据库·mongodb