type
status
date
slug
summary
tags
category
icon
password
努力学习,争取啃下MongoDB
MongoDB 语法
MongoDB 是一个面向文档的NoSQL数据库,数据以类似JSON的格式存储,适合处理大规模、复杂的数据。
1. 数据库操作
创建与选择数据库
- 命令:
- 如果数据库不存在,它会自动创建并切换到该数据库。
- 示例:
查看所有数据库
- 命令:
- 显示当前MongoDB实例中的所有数据库。
删除数据库
- 命令:
- 删除当前选择的数据库。
- 示例:
2. 集合操作
创建集合
- 显式创建集合
- 显式创建一个新的集合。
- 示例:
- 隐式创建集合
- 当向一个不存在的集合插入数据时,MongoDB会自动创建该集合。
- 示例:
查看集合
- 命令:
- 查看当前数据库中的所有集合。
- 示例:
删除集合
- 命令:
- 删除指定集合。
- 示例:
3. 文档操作 (CRUD)
插入文档
- 插入单个文档
- 示例:
- 插入多个文档
- 示例:
查询文档
- 查询所有文档
- 示例:
- 条件查询
- 查找年龄大于30的用户。
- 示例:
- 投影查询
- 只返回名字和年龄,不返回
_id
。 - 示例:
- 查找一个文档
- 返回符合条件的第一条文档。
- 示例:
更新文档
- 覆盖更新
- 直接覆盖文档内容。
- 示例:
- 部分更新
- 只更新指定的字段。
- 示例:
- 批量更新
- 更新所有符合条件的文档。
- 示例:
- 自增
- 将名字为"Bob"的用户年龄加1。
- 示例:
删除文档
- 删除指定文档
- 示例:
- 删除所有文档
- 示例:
4. 高级查询操作
分页查询
- 命令:
- 示例:
- 跳过前三个文档,返回接下来的三个文档。
- 其他示例:
排序查询
- 命令:
- 按年龄升序排列。
- 示例:
统计查询
- 命令:
- 统计状态为"active"的用户数量。
- 示例:
模糊查询
- 命令:
- 查找名字中包含“li”的用户。
- 示例:
比较查询
- 命令:
- 查找年龄大于30的用户。
- 示例:
包含查询
- 命令:
- 查找名字为"Alice"或"Charlie"的用户。
- 示例:
逻辑查询
- AND 查询
- 示例:
- OR 查询
- 示例:
5. 聚合与MapReduce
聚合查询
- 按状态统计用户数量
- 示例:
MapReduce
- 计算每个状态的用户总数
- 示例:
6. 索引操作
创建索引
- 命令:
- 在
name
字段上创建升序索引。
- 示例:
查看索引
- 命令:
- 查看当前集合的所有索引。
- 示例:
删除索引
- 命令:
- 删除指定索引。
- 示例:
7. 管理操作
关闭MongoDB服务
- 命令:
- 安全关闭MongoDB服务。