数人之道原创文章,转载请联系我们
MongoDB Compass 是 MongoDB 官网开发及提供的 MongoDB GUI(图形化用户界面)管理工具。它能以视觉化的方式探索数据、在数秒内运行即时查询、创建数据库及管理集合和文档、与数据交换实现 CRUD 功能、查看和优化查询性能、构建地理查询等。让你能在索引、文档验证等方面作出更合理的决策。提供 Linux、Mac 及 Windows 版本。
1
Compass 介绍
以下是官网对 MongoDB Compass 的介绍。
1.1
MongoDB Compass 可分析您的文档,并通过直观的 GUI 显示您的集合内的丰富结构。它让您可以快速展现和探索您的模式,以了解数据集的频率、种类和字段范围。
1.2
实时服务器统计信息让您可以查看关键的服务器指标和数据库操作。轻松地深入分析数据库操作,了解您最活跃的集合。
1.3
点击构建复杂的查询,然后一键执行查询,Compass 会按地理位置为您显示结果,还会将结果显示为多组 JSON 文档。
1.4
利用直观的可视化编辑器更放心地修改现有文档,或者点击几下即完成插入、复制或删除文档
1.5
通过简单易懂的 GUI 了解查询的运行情况,发现和解决性能问题。
1.6
了解您索引的类型、大小、利用率和特殊属性。一键添加和移除索引。
1.7
在智能编辑器中编写 JSON 架构验证规则,其可自动建议字段名称、BSON 数据类型和验证关键字。对通过和未通过验证规则的文档进行实时预览,可以轻松查看规则是否具有预期的行为。
1.8
Compass 插件框架以 API 形式开放,用户能够对其进行扩展。想要其他功能?您可以安装插件或自行构建。
1.9
在直观的 UI 中构建聚合管道。代码骨架和自动填写功能便于轻松构建阶段,而文档预览则可以显示该阶段是否正在执行您所需的操作。添加和删除阶段,或通过拖放在管道中重新排序。完成后,导出到原生代码以在您的应用程序中使用。
2
Compass 安装
通过以下地址到 MongoDB 的官网下载 Compass,并进行安装:
https://www.mongodb.com/try/download/compass
目前提供 Windows、Mac、RedHat、Ubuntu 的版本可供下载。这里下载 Windows 版本进行安装。
下载 msi 格式的安装文件,可直接进行安装。
3
Compass 配置
使用 MongoDB Compass 前,需要配置 Compass 的连接信息,以连接 MongoDB 数据库服务器进行访问。
3.1
进行 MongoDB Compass 配置前,需要先对服务器的 mongod.conf 及 sshd_config 配置文件进行修改。
3.1.1. 修改 mongod.conf 配置文件
在安装 MongoDB 的服务器上编辑 mongod.conf 配置文件(MongoDB 的安装介绍请查看《初识 MongoDB - MongoDB 介绍及安装》):
sudo vim /etc/mongod.conf
将 net.bindIp 参数由 127.0.0.1(默认只允许本地连接),修改为 0.0.0.0 (允许所有 IP 地址连接):
图3-1-1:修改 mongod.conf 配置文件
3.1.2. 修改 sshd_config 配置文件
在安装 MongoDB 的服务器上编辑 sshd_config 配置文件:
sudo vim /etc/ssh/sshd_config
在文件末添加一行,允许其通过 TCP 进行连接:
AllowTcpForwarding yes
图3-1-2:修改 sshd_config 配置文件
3.1.3. 重启 ssh
使用以下命令重启 ssh:
sudo service sshd restart
3.1.4. 重启 MongoDB 服务
使用以下命令重启 MongoDB 服务:
sudo systemctl daemon-reload
重启后查看服务状态。
3.2
配置 Compass
打开 MongoDB Compass 应用程序,进入 Compass 后首先出现连接界面如下(连接字符串模式):
图3-2-1:MongoDB Compass 初始界面
连接信息字符串格式为:
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
以笔者的单机(Standalone)安装模式为例,连接地址信息为(默认端口号为 27017):
mongodb://hadoop100:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false
也可以切换到连接信息配置模式下输入连接信息:
图3-2-2:MongoDB Compass 连接信息配置
设置完成后,点击 Connect,即可连接到 MongoDB:
图3-2-3:查看 MongoDB 数据库
可以看到安装 MongoDB 后默认初始创建的三个数据库,左侧显示Database 列表,右侧是 Database 的存储大小、Collections 数量以及Indexes 数量信息。
4
Compass 使用
下面举几个常用操作的例子,了解如何使用 MongoDB Compass。
4.1
创建及删除数据库
点击 CREATE DATABASE 按钮,即可创建数据库,同时必须创建一个集合:
图4-1-1:Compass 创建数据库
点击垃圾桶按钮,并输入数据库名称,即可删除数据库:
图4-1-2:Compass 删除数据库
操作都十分便捷。
4.2
增加及删除集合(对象)
点击数据库名称进入数据库后,点击 CREATE COLLECTION 按钮,即可增加集合(对象):
图4-2-1:Compass 新增集合
点击垃圾桶按钮,并输入集合名称,即可删除集合:
图4-2-2:Compass 删除集合
Capped Collection 为固定集合,即对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素。
4.3
插入、更新及删除文档
点击集合名称进入集合后,可查看存储在该集合下的所有文档数据。文档数据的查看方式有三种:list、bson、table.
图4-3-1:Compass list 形式展示文档数据
图4-3-2:Compass bson 形式展示文档数据
图4-3-3:Compass table 形式展示文档数据
4.3.1. 插入文档
插入文档数据的方式有两种:从文件导入、手动输入文档数据。
点击 ADD DATA 按钮下的 Import File,通过导入 JSON 或 CSV 文件的方式插入文档数据:
图4-3-4:Compass 通过导入文件方式插入文档数据
数据文件来源:《如何快速获取并分析自己所在城市的房价行情?》
点击 ADD DATA 按钮下的 Insert Document,通过手动输入的方式插入文档:
图4-3-5:Compass 通过手动输入方式插入文档数据
4.3.2. 更新文档
点击每条文档数据记录的编辑按钮,即可对该文档数据记录进行更新,包括修改数据类型、增加及删除文档元素、修改文档元素的键名称及值内容:
图4-3-6:Compass 更新文档数据类型
图4-3-7:Compass 更新文档数据
4.3.3. 删除文档
点击每条文档数据记录的编辑按钮,即可对该文档数据记录进行删除:
图4-3-8:Compass 删除文档数据
MongoDB Compass 在 CRUD 的操作上还是十分的人性化,不过不适合大批量的操作。
4.4
查询文档
在文档记录的 FILTER 行中输入查询条件后,点击 FIND 按钮,即可执行查询操作,还可以导出 Python、Java 等语言的查询语句。
例如,查询户型为3室2厅,且朝向为南的房子,在 FILTER 行输入查询以下条件进行查询:
{huxing: "3室2厅 ", chaoxiang: " 南 "}
图4-4-1:Compass 查询文档
查询得到 303 条文档数据记录。
导出 Python、Java 等语言的查询语句:
图4-4-2:Compass 导出其他语言的查询语句
可以看到,导出的语句十分完整,直接可以使用。
4.5
创建索引
在集合页面的 Indexes 中,可以查看相对应集合的索引情况,其中索引 "_id_" 是系统中规定的唯一索引,不可删除。
图4-5-1:Compass 查看集合的索引
通过点击 CREATE INDEX 按钮可以创建索引。输入索引名称,并选择建立索引的键、索引顺序,还可以配置索引的类型、属性等:
图4-5-2:Compass 创建索引
若勾选 Create unique index,要确定建立索引的键的键值没有重复值;Partial filter expression 可用于设置索引条件,即索引键符合所设置条件的才会为其建立索引,可用以约束非空值,例如设置以下条件则表示只对 存在键值的 positioninfo 建立索引:
{ "positioninfo": { "$exists": true } }
Partial indexes 可以减少存储空间的使用,提升性能表现。
4.6
查看执行计划
在 MongoDB shell 中有 explain() 函数,用于检测诊察数据的运行情况。Explain Plan 的功能与其类似,用于查看查询语句的执行计划、评估查询的性能,一般应用在 find() 查询函数、评估索引等。
图4-6-1:Compass 查看查询语句执行计划
可使用树型或原生 JSON 格式查看语句执行顺序、返回结果数、耗时、扫描记录数、使用索引情况等执行信息。
4.7
监控资源使用情况
在首页中点击 Performance 标签页即可监控 MongoDB 资源的使用情况:
图4-7-1:Compass 监控资源使用情况
可查看操作命令、读写 I/O、网络带宽、内存使用、热点集合等资源监控信息。
4.8
使用 Mongo Shell
MongoDB Compass 集成了 MongoDB Shell,点击界面底部的 >_MONGOSH 即可进入,跟在 MongoDB 服务器中使用 mongosh 的用法及效果一致,可直接编写 MongoDB 语句进行数据库操作。
图4-8-1:Compass 中使用 Mongo Shell
MongoDB Compass 还有其他丰富的功能,大家可以下载安装来使用,进行体验、发掘。
封面图片:坦桑尼亚塞伦盖蒂草原上迁徙的斑纹角马
版权信息:© jacobeukman / iStock / Getty Images Plus