MongoDB 常用命令速查表

ops/2025/2/15 20:35:49/

以下是一份 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.ppmy.cn/ops/158689.html

相关文章

MYSQL直接在SQL提取json字符串中的内容-----将13位时间戳转换成标准的日期格式【记录SQL常用函数】

1.如果表中某个字段中存的是JOSN&#xff0c;那么mysql可以使用JSON_EXTRACT函数来进行字符串的解析。 字段内容如下所示&#xff1a; [{ "tax": { "taxName": "Tax1", "taxAmount": { "amount…

3、《Spring Boot 常见注解详解》

Spring Boot 核心注解详解 摘要 本文深入剖析 Spring Boot 常用注解&#xff0c;如SpringBootApplication、Controller、Service、Repository等&#xff0c;详细讲解它们的功能、使用场景及原理&#xff0c;帮助开发人员更好地理解和运用 Spring Boot 框架进行项目开发。 一…

电商小程序(源码+文档+部署+讲解)

引言 随着移动互联网的快速发展&#xff0c;电商小程序成为连接消费者与商家的重要桥梁。电商小程序通过数字化手段&#xff0c;为消费者提供了一个便捷、高效的购物平台&#xff0c;从而提升购物体验和满意度。 系统概述 电商小程序采用前后端分离的架构设计&#xff0c;服…

2025年3月一区SCI-混沌进化优化算法Chaotic evolution optimization-附Matlab免费代码

引言 本期介绍了一种基于混沌动力学的元启发式算法-混沌进化优化算法Chaotic evolution optimization&#xff0c;CEO。CEO的主要灵感来源于二维离散记忆映射的混沌演化过程。通过利用记忆映射的超混沌特性&#xff0c;对CEO算法进行数学建模&#xff0c;为进化过程引入随机搜…

【认证授权FAQ】SSL/TLS证书过期导致的CLS认证失败

问题现象 问题分析 属于Agent操作系统的根认证机构过期问题&#xff0c;需要下载CA然后在系统安装。 DigiCert根证书和中间证书将在未来几年过期&#xff0c;一旦证书过期&#xff0c;基于证书颁发的SSL/TLS证书将不再信任&#xff0c;导致网站无法HTTPs访问。需要迁移到新的根…

Oracle EBS 11i R12 更改form颜色

前言 Oracle EBS 默认的form颜色为蓝色。目前大部分使用Oracle EBS的企业均已蓝色做为生产环境的颜色。在运维或者测试的过程中&#xff0c;必然需要多个测试环境。如&#xff1a;开发测试、系统测## 二级标题试等。单单靠form上的提示词进行区别&#xff0c;往往不适用于企业…

一文讲清前端热更新

​​​​​​ 引言 前端开发中&#xff0c;“保存代码后页面自动刷新”早已成为开发者的标配体验。但你是否思考过&#xff0c;为什么某些场景下修改代码后页面无需完全刷新&#xff0c;甚至能保留当前状态&#xff08;如表单输入、滚动位置&#xff09;&#xff1f;这背后的…

【一文读懂】TCP与UDP协议

TCP协议 概述 TCP&#xff08;Transmission Control Protocol&#xff09;&#xff0c;即传输控制协议&#xff0c;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;常用于保证数据可靠、按顺序、无差错地传输。TCP 是互联网协议族&#xff08;TCP/IP&…