MongoDB 命令速查
共 49 条常用 MongoDB 写法,覆盖查询、写入与更新、聚合管道、索引、管理与运维五组场景, 逐条给出写法与说明。支持搜索与分类筛选,点击写法即可复制。
查询 find
查询条件与更新操作符都以 $ 开头。
| 写法 | 说明 |
|---|---|
| 等值查询 | |
| 返回单条文档 | |
| 比较:$gt/$gte/$lt/$lte/$ne | |
| 在给定集合内 | |
| 逻辑:$and/$or/$nor/$not | |
| 正则匹配 | |
| 字段存在判断 | |
| 排序(-1 降序)与限制条数 | |
| 分页 | |
| 投影:只返回指定字段 | |
| 统计匹配文档数 |
写入与更新
| 写法 | 说明 |
|---|---|
| 插入单条 | |
| 插入多条 | |
| 更新匹配的第一条 | |
| 更新所有匹配文档,字段自增 | |
| 数组追加;$addToSet 去重追加 | |
| 从数组移除匹配项 | |
| 删除字段 | |
| 整体替换文档 | |
| 不存在时插入 | |
| 删除单条 | |
| 删除多条 |
聚合管道
按顺序把上一阶段的输出交给下一阶段。
| 写法 | 说明 |
|---|---|
| 过滤文档(等价于 find 条件) | |
| 分组聚合,$sum/$avg/$max 等 | |
| 排序 | |
| 投影 / 计算字段 | |
| 截断 / 跳过 | |
| 展开数组为多行 | |
| 左连接另一集合 | |
| 统计数量 | |
| 执行聚合管道 |
索引
| 写法 | 说明 |
|---|---|
| 单字段升序索引(-1 降序) | |
| 复合索引,顺序影响命中 | |
| 唯一索引 | |
| 地理空间索引 | |
| 全文索引,配合 $text 查询 | |
| TTL 索引,到期自动删除 | |
| 查看已有索引 | |
| 删除索引 | |
| 查看是否命中索引 |
管理与运维
| 写法 | 说明 |
|---|---|
| 列出数据库 / 切换数据库 | |
| 列出当前库集合 | |
| 库 / 集合统计信息 | |
| 创建集合 | |
| 重命名集合 | |
| 删除集合(危险) | |
| 快速估算文档数 | |
| 备份 / 恢复 | |
| 新版命令行客户端连接 |
使用说明
MongoDB 的查找、更新、聚合写法各有各的语法,光靠记忆容易出错。本速查涵盖数据库/集合操作、文档增删改查、查询投影、聚合管道与索引,按场景分组便于速查。
- 搜索操作名或场景(如 查询、聚合、索引、更新)。
- 按分组查看集合操作、文档 CRUD、聚合、索引等。
- 点击复制即可取走可直接运行的写法。
常见问题
- 聚合管道的 stage 有执行顺序吗?
- 有,管道按数组顺序依次执行,$match 与 $sort 尽量前置并配合索引以提升性能。
- upsert 是什么意思?
- updateOne/updateMany 传 { upsert: true } 时,若没有匹配文档就插入一条新文档。