跳至主要内容

MongoDB Compass:数据库管理的可视化工具

了解什么是 MongoDB Compass,以及如何使用这款可视化工具进行数据库管理。
· 6分钟 阅读

使用 AI 探索

MongoDB Compass 是一款功能极其强大的图形化用户界面(GUI),可在全可视化的平台上对任意 MongoDB 数据库进行聚合、分析和查询。因此,当您需要更直观地审视正在交互的数据时,它再合适不过! 

什么是 MongoDB Compass? 

MongoDB Compass 使开发者能够:

  1. 浏览集合。
  2. 通过可视化构建器运行查询。
  3. 构建聚合管道。
  4. 可视化架构(Schema)。
  5. 管理索引。
  6. 监控数据库性能。

它可以被视为您的数据库“控制中心”,无需费力敲击任何 Shell 命令,便能全面理解数据全貌及其使用方式。 

为何使用 Compass 而非 Shell?

MongoDB Shell(mongosh)功能非常强大,但如果您初次接触 MongoDB,它可能会让人望而生畏,尤其是对不熟记所有操作符或不了解 MongoDB 全部能力的新手开发者而言。 

Compass 通过高度交互且可视化的体验,尽可能消除了学习曲线;当您能直观看到手头的数据时,浏览数据库往往更轻松。 

借助 MongoDB Compass,您无需死记硬背语法。您可以直接在 GUI 中构建查询和聚合,这既能快速实现数据库目标,也是学习 MongoDB 语法的极佳途径。 

您还可以在 Compass 的 Schema 选项卡中自动扫描数据,查看字段分布、数据类型以及任何可能的异常。 

另一方面,在使用 MongoDB Shell 时,了解架构意味着需要手动运行命令。 

Compass 的另一大亮点在于,您可以逐阶段构建聚合管道,并实时查看输出!无需编写冗长的管道并为拼写错误排查,Compass 让不太熟悉聚合管道和 MongoDB 操作符的用户也能轻松上手。 

MongoDB Shell 类似在终端中编程,而 Compass 则像一个带有图表、表格和筛选器的仪表板。二者都是对开发者非常有用且极具威力的工具,但 Compass 的确降低了入门门槛,甚至能加速您完成常见任务的工作流。 

开始使用 MongoDB Compass

既然已经了解了 Compass 能做什么,接下来看看如何开始使用该平台。在浏览集合和构建查询之前,您需要下载 Compass 并将其连接到您的集群。 

成功准备条件 

要顺利使用 Compass,您需要具备以下前提条件: 

  1. 一个MongoDB Atlas 账户。 
  2. 在您的账户中已配置 MongoDB 集群;请确保您可以方便地获取MongoDB 连接字符串。 

步骤 1:下载并安装 Compass 

  • 访问MongoDB Compass 下载页面,选择稳定版本以及与您的操作系统兼容的版本,并按照安装说明进行操作。 

步骤 2:打开 Compass 

首先在 Atlas 中获取我们的 MongoDB 连接字符串。 

在 MongoDB Atlas 中,点击“Connect”后,会出现通过 Compass 连接的选项。请点击该按钮并复制您的 MongoDB Atlas 连接字符串。

获取连接字符串以连接 Compass

成功安装 Compass 后,打开应用,您将看到一个请求输入 MongoDB 连接字符串的连接界面。 

下载后 Compass 的首页

连接成功建立后,您就能在 MongoDB Compass 中看到您的数据库!从下方截图可见,我们在设置集群时下载的 sample_dataset 已可供使用。

在 Compass 中查看数据库

现在,我们就可以开始探索了! 

开始(可视化)探索

在屏幕左侧展开数据库列表,并选择“sample_mflix”数据库中的“Users”集合后,我们就能看到其中文档的预览。 

在这里,我们可以用不同格式查看文档。点击屏幕右侧的按钮,即可将数据以文档视图、表格视图或 JSON 视图呈现。 

顶部还有一个筛选栏,我们可以使用 MongoDB 查询语法输入查询;如果需要帮助,也可以生成查询。 

我们还可以点击绿色的“Add Data”按钮,轻松插入 JSON 文件或 CSV 文件,并在选定集合中创建新文档。也可以点击“Export Data”按钮,保存所有文档并以我们偏好的格式导出。 

进入聚合时间

聚合管道构建器是使用 Compass 的最强大理由之一;开发者可以通过可视化方式完成高级分析,而无需编写冗长的 JSON 管道。 

为了演示操作,我们使用数据库中的 movies 集合,并点击顶部的“Aggregations”选项卡(在 Documents 和 Schema 旁边)。 

在 Compass 中构建聚合管道

让我们添加第一阶段。在此处点击绿色的“Add stage”按钮并选择 $match 操作符。我们想筛选 2010 年之后上映的电影。为此,请粘贴: 

  { "year": 
  { "$gt": 2010 } }

管道的第一阶段

此处我们得到了与查询匹配的 10 条文档样本。 

接着添加一个 $redact 阶段。我们要找到 2010 年之后且提名数大于等于 5 的电影。请粘贴:

{
  "$cond": [
    { "$gte": [ { "$ifNull": ["$awards.nominations", 0] }, 5 ] },
    "$KEEP",
    "$PRUNE"
  ]
}

管道的第二阶段

我们可以看到满足条件的电影样本数量! 

让我们用一个 $project 阶段来完成聚合管道,只显示我们所需的关键信息:标题、年份和获奖提名数。请粘贴:

{ 
  "title": 1,
  "year": 1,
  "awards.nominations": 1,
  "_id": 0
}

管道的第三阶段

如我们所见,结果包含 2010 年之后的电影,且提名数大于等于 5! 

Compass 的聚合管道构建器最大的优势在于,您可以在每个阶段进行调试。

架构可视化

在 Schema 选项卡中,您可以查看字段类型、分布和异常。最典型的用例是发现不一致的数据。例如,同一文档中的价格既以字符串又以数字形式存储。 

您还可以发现内容混杂的数组、缺失或可为空的字段,并据此修正您的洞察。从 Schema 视图可以切换至 Documents 或 Aggregation 选项卡,应用相应筛选来修复常见问题。 

要访问 Schema,请点击平台顶部的“Schema”选项卡。

在 Compass 中进行架构可视化

以上只是 MongoDB Compass 提供的诸多强大功能中的一部分。

结语

MongoDB Compass 是每位 MongoDB 开发者都应当利用的工具。它帮助您真正可视化并理解数据,您可以轻松浏览文档、构建筛选与聚合管道、检查架构是否存在异常,甚至发现性能问题。要进一步了解如何将 Compass 的潜力发挥到极致,请参阅文档。如果您希望展示自己对 MongoDB Compass 等工具的掌握程度,我也推荐阅读MongoDB 认证指南。 

MongoDB Compass 常见问题

我为什么要使用 MongoDB Compass?

开发者可以使用 MongoDB Compass 以可视化方式浏览文档、构建筛选与聚合管道、检查架构、查看性能等,带来多维度的可视化体验。

MongoDB Compass 是免费的吗?

是的,Compass 对开发者免费!您可以创建免费的 MongoDB Atlas 集群,并在 Compass 中使用其连接字符串,更好地理解您的数据。

我可以在 Compass 中构建聚合管道吗?

在 Compass 中构建聚合管道正是其最佳用法之一!开发者可以在每个阶段构建并测试聚合管道——调试与构建从未如此轻松。

MongoDB Compass 对生产数据安全吗?

Compass 对生产数据完全安全,且默认是只读模式,除非您主动执行写操作。

Anaiya Raisinghani

作者

Anaiya Raisinghani

Anaiya 是 MongoDB 的开发者倡导者,常驻纽约。

主题