131 lines
5.3 KiB
Plaintext
131 lines
5.3 KiB
Plaintext
---
|
|
title: MongoDB 工作台
|
|
description: 浏览、筛选、编辑和复制 MongoDB 文档,并管理集合、索引和 GridFS。
|
|
---
|
|
|
|
MongoDB 工作台围绕数据库、Collection、文档、索引和 GridFS 组织,不把文档强制转换成关系型表。它提供表格视图和完整 JSON 视图,并保留 `ObjectId`、日期、长整数等 Extended JSON 类型。
|
|
|
|
## 连接与驱动
|
|
|
|
推荐使用标准 `mongodb://` 或 `mongodb+srv://` 连接字符串,并在 URL 中包含副本集、认证库、TLS 和其他参数。Atlas、Replica Set 和直连部署都使用同一个连接入口。
|
|
|
|
DBX 优先使用原生 MongoDB 路径。当服务端或认证协议需要旧驱动时,可以选择或自动回退到 `mongodb-legacy` Agent。旧驱动的管理和修改能力可能少于原生驱动。
|
|
|
|
## 数据库与 Collection
|
|
|
|
对象树可以:
|
|
|
|
- 列出数据库、Collection、索引和 GridFS Bucket
|
|
- 显示 Collection 文档数、大小和其他可获取统计
|
|
- 创建、重命名或删除 Collection(原生驱动且连接可写时)
|
|
- 删除数据库、单个索引或除 `_id_` 外的可删除索引
|
|
- 从 Collection 打开文档浏览器或查询编辑器
|
|
|
|
删除和重命名会显示目标和请求预览,并受只读与生产保护约束。
|
|
|
|
## 文档浏览与分页
|
|
|
|
文档浏览器支持:
|
|
|
|
- 分页读取和估算总数
|
|
- 表格视图与完整文档视图
|
|
- 顶层和嵌套字段列,例如 `address.city`
|
|
- 可搜索字段选择器、隐藏列和持久化列布局
|
|
- 快速过滤器以及多个字段条件
|
|
- 数据库侧排序和 Collection 查询
|
|
|
|
MongoDB 的总数可能使用估算值。数据持续写入时,翻页过程中的总数和最后一页可能变化。
|
|
|
|
## 过滤与命令
|
|
|
|
可以在文档浏览器中构建字段过滤,也可以在 MongoDB 查询标签中输入 shell 风格命令。编辑器会根据 Collection、字段、查询运算符、更新运算符、聚合阶段和游标方法提供补全。
|
|
|
|
常见命令包括:
|
|
|
|
```javascript
|
|
db.users.find({ status: "active" }).sort({ createdAt: -1 })
|
|
```
|
|
|
|
```javascript
|
|
db.orders.aggregate([
|
|
{ $match: { status: "paid" } },
|
|
{ $group: { _id: "$customerId", total: { $sum: "$amount" } } }
|
|
])
|
|
```
|
|
|
|
`use <database>` 会切换当前 MongoDB 查询上下文。
|
|
|
|
## 表格编辑
|
|
|
|
表格视图把常见字段展开成列。支持:
|
|
|
|
- 编辑顶层或嵌套字段
|
|
- 新增和删除字段
|
|
- 新建、克隆和删除文档
|
|
- 复制选中文档为 JSON、Markdown 或 MongoDB Shell 语句
|
|
- 排除 `_id` 后复制为新文档模板
|
|
- 在保存前查看待执行更新或删除目标
|
|
|
|
字段结构差异很大的 Collection 更适合使用完整文档视图,避免隐藏字段在表格列中被忽略。
|
|
|
|
## JSON 文档编辑
|
|
|
|
文档详情可以在字段树和完整 JSON 源码之间切换:
|
|
|
|
- 新建文档时粘贴完整 JSON
|
|
- 保存前校验 JSON 语法和根对象结构
|
|
- 格式化、折叠和复制嵌套对象/数组
|
|
- 保留 `$oid`、`$date`、`$numberLong` 等 Extended JSON
|
|
- 修改 `_id` 时按新标识创建文档,并删除旧文档
|
|
- 完整 JSON 保存按整文档替换语义处理
|
|
|
|
<Callout type="warn">整文档替换会写回完整对象。编辑前确认当前 JSON 包含需要保留的所有字段,尤其是并发修改频繁的 Collection。</Callout>
|
|
|
|
## 索引
|
|
|
|
在对象树或 Collection 结构中可以查看索引名称、字段、唯一性和其他元数据。原生驱动支持时,可以删除单个索引、批量删除可删除索引,或从结构入口管理索引。
|
|
|
|
MongoDB 会保留 `_id_` 索引;分片键等服务端规则也可能阻止删除其他索引。最终结果以服务端响应为准。
|
|
|
|
## GridFS
|
|
|
|
GridFS 工作台用于管理 Bucket 和文件:
|
|
|
|
- 浏览、创建和删除 Bucket
|
|
- 上传、下载、预览和删除文件
|
|
- 查看文件名、大小、上传时间、Chunk 和 Metadata
|
|
- 按字段过滤和排序文件
|
|
- 导出文件列表或 Metadata
|
|
|
|
删除 Bucket 会删除其中的文件和 Chunk。生产环境执行前先确认 Bucket 名称和备份。
|
|
|
|
## 复制与导出
|
|
|
|
- 复制当前文档、选中文档或字段值
|
|
- 复制为普通 JSON 或保留类型信息的 Extended JSON
|
|
- 从表格结果使用多格式复制和导出
|
|
- MongoDB `find` 查询结果导出会继续读取完整结果范围,而不是只导出当前已显示页(受查询和导出限制约束)
|
|
|
|
导出大型 Collection 前先缩小过滤范围,并关注服务端游标、网络和本地文件大小。
|
|
|
|
## 安全与兼容边界
|
|
|
|
- 只读连接会阻止文档、字段、索引、Collection、数据库和 GridFS 修改
|
|
- 生产环境保护会在可识别写入前要求确认
|
|
- MCP“数据读写”只允许范围明确的 MongoDB 修改;不透明或近似全量过滤按高风险处理
|
|
- 旧版 Agent 可能不支持 Collection/索引管理等原生能力
|
|
- Atlas 权限、认证库、TLS 和 IP allowlist 都由 MongoDB 服务端决定
|
|
- 分页总数可能为估算值,不能作为强一致统计
|
|
|
|
<Cards>
|
|
<Card title="生产写入保护" href="/cn/docs/production-safety">
|
|
了解 MongoDB 过滤范围、只读连接和 MCP 策略。
|
|
</Card>
|
|
<Card title="连接与驱动" href="/cn/docs/driver-management">
|
|
管理原生与 legacy Agent,并排查驱动启动问题。
|
|
</Card>
|
|
<Card title="专项工作台" href="/cn/docs/specialized-workspaces">
|
|
查看 Redis、搜索、向量、HBase、消息队列和配置中心。
|
|
</Card>
|
|
</Cards>
|