当前位置: 首页 > news >正文

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)支持复杂数据处理,灵活但需注意性能。

http://www.dtcms.com/a/16174.html

相关文章:

  • 【JavaEE进阶】IoC详解
  • 芯麦GC6208:革新摄像机与医疗设备的智能音频解决方案
  • 单位切换且后换算得方法
  • 【Java八股】JVM
  • springboot如何将lib和jar分离
  • 配置Mysql8读写分离(未完成)
  • Node.js 调用 DeepSeek API 完整指南
  • AI大模型(如GPT、BERT等)可以通过自然语言处理(NLP)和机器学习技术,显著提升测试效率
  • 达梦 跟踪日志诊断
  • 附录 面向对象
  • C++ ——构造函数
  • C语言简单练习题
  • Python自动化实现思路
  • 安科瑞光储充一体化微电网系统的设计与优化研究-安科瑞 蒋静
  • Windows 找不到文件gpedit.msc,没有组策略编辑器,解决办法附上
  • 前端知识速记—JS篇:JS数组方法
  • CTF-WEB: 利用iframe标签利用xss,waf过滤后再转换漏洞-- N1ctf Junior display
  • 基于Python flask-sqlalchemy的SQLServer数据库管理平台
  • [运输时间]
  • Microsoft Edge 浏览器调优
  • Redis 01 02章——入门概述与安装配置
  • Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 1 部分
  • 【第3章:卷积神经网络(CNN)——3.2卷积层、池化层、全连接层的详细介绍】
  • 字节跳动后端二面
  • 无人机常见的开源飞控项目
  • 机器视觉3D异形抓取难点
  • C++Primer学习(4.5 递增和递减运算符)
  • 从无序到有序:上北智信通过深度数据分析改善会议室资源配置
  • uniapp商城之登录模块
  • 计算机毕业设计Python+Vue.js游戏推荐系统 Steam游戏推荐系统 Django Flask 游 戏可视化 游戏数据分析 游戏大数据 爬虫