前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >探索 MongoDB - MongoDB Compass 安装配置及使用介绍 | MongoDB GUI

探索 MongoDB - MongoDB Compass 安装配置及使用介绍 | MongoDB GUI

作者头像
数人之道
发布于 2022-02-14 03:18:57
发布于 2022-02-14 03:18:57
7.4K00
代码可运行
举报
文章被收录于专栏:数据技术数据技术
运行总次数:0
代码可运行

数人之道原创文章,转载请联系我们

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

更佳的 CRUD 操作方式使得数据交互更容易

利用直观的可视化编辑器更放心地修改现有文档,或者点击几下即完成插入、复制或删除文档

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 介绍及安装》):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 配置文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo vim /etc/ssh/sshd_config

在文件末添加一行,允许其通过 TCP 进行连接:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AllowTcpForwarding yes

图3-1-2:修改 sshd_config 配置文件

3.1.3. 重启 ssh

使用以下命令重启 ssh:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo service sshd restart

3.1.4. 重启 MongoDB 服务

使用以下命令重启 MongoDB 服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo systemctl daemon-reload

重启后查看服务状态。

3.2

配置 Compass

打开 MongoDB Compass 应用程序,进入 Compass 后首先出现连接界面如下(连接字符串模式):

图3-2-1:MongoDB Compass 初始界面

连接信息字符串格式为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]

以笔者的单机(Standalone)安装模式为例,连接地址信息为(默认端口号为 27017):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 按钮,即可执行查询操作,还可以导出 PythonJava 等语言的查询语句。

例如,查询户型为3室2厅,且朝向为南的房子,在 FILTER 行输入查询以下条件进行查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{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 建立索引:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ "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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数人之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
JavaWeb项目部署到Linux服务器
注意:如下命令必须进入到Tomcat的bin目录才能执行。如果你配置好了环境变量就可以在任何路径下执行了。
兮动人
2021/06/11
3.6K0
如何把JavaWeb项目部署到服务器
怎么部署自己的项目到服务器上并访问,首先呢,在开始之前,我们需要准备什么呢,一个能够运行的项目(Javaweb),一个服务器,这两个是必须的,还有可选的就是上传到服务器的软件以及远程连接工具,这两个是方便我们的操作的。至于服务器肯定需要有运行环境的,像jdk,tomcat,mysql等等,这些咱们在后面用到再说。
大头猿
2022/03/15
6.1K0
如何把JavaWeb项目部署到服务器
JavaWeb项目部署到Linux云服务器「视频教程」
我们在本地开发了一个Javaweb项目,如何把这个项目部署到Linux云服务器上呢?本期的视频教程就是手把手教大家在云服务器上部署自己的Web项目,视频教程分为两部分,分别是环境搭建和正式部署,部署文档和用到的软件文末获取。
用户1093975
2018/08/03
11.3K1
JavaWeb项目部署到Linux云服务器「视频教程」
怎样将本地web项目部署到腾讯云服务器上?
(1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服务器下,打开浏览器看是否能访问本地项目.
2019/05/10
19.2K0
linux服务器项目部署完整版
    之前总玩v8虚拟机,最近看到腾讯云学生套餐很实惠就租了个linux服务器搭一个项目,做下这个项目部署全记录,即为了方便以后查看,同时也分享下自己的经验,不足之处还请多多指教,废话不多说,直接开始!!!
Twcat_tree
2022/11/30
2.3K0
linux服务器项目部署完整版
第一次使用腾讯云服务器进行项目部署记录总结
这个可以说是自己第一次使用腾讯云服务器上线项目,这个过程中遇到了很多的问题,特此写一篇文章记录说明一下;
阑梦清川
2025/03/15
1170
Linux云服务器部署项目
Linux上使用yum命令后,会将OpenJDK安装到/usr/lib/jvm/目录下
JokerDJ
2023/11/27
7660
Linux云服务器部署项目
最新腾讯云服务器linux系统+配置java项目+部署微信小程序后台
对于企业来说稳定、极速就选择 2核 4G内存配置的云服务器比较稳妥。这个配置跑企业网站是比较轻松无压力的。配上 avada主题,可以做出的很大气、高大上的企业网站。下面介绍腾讯云的长期优惠折扣活动,感兴趣的可以注册账号领代金券使用。
用户6565166
2019/10/27
4.7K0
最新腾讯云服务器linux系统+配置java项目+部署微信小程序后台
腾讯云服务器linux系统+配置java项目+部署微信小程序后台
我们默认你上面的准备工作都做好了,下面我们就来开始学习把后台项目部署到服务器,让所有人都可以访问到你的服务器。
用户2416682
2019/09/20
8.3K0
腾讯云服务器linux系统+配置java项目+部署微信小程序后台
Web项目部署到腾讯云服务器
由于我用的是maven项目,开发工具是IntelliJ IDEA 2019.3.3 x64,所以直接 点击下图中的package即可
别团等shy哥发育
2023/02/25
12K0
Web项目部署到腾讯云服务器
通过域名访问Linux云服务器上的java web项目
当有几个项目需要放在云服务器上,直接在nginx配置文件中创建几个虚拟主机,然后需要解析几个二级域名。这种方法比较容易实现些,把所有的java web项目放到一个Tomcat下实现访问。
兮动人
2021/06/11
11.4K0
如何将 JavaWeb 项目部署到云服务器
列出所有软件包:apt list 这个命令输出所有包的列表,内容比较多,可以使用 grep 命令过滤输出:apt list |grep "jdk"
2的n次方
2024/12/20
5970
如何将 JavaWeb 项目部署到云服务器
使用云服务器部署 Spring Boot 项目
在现代的软件开发中,使用云服务器来部署应用程序已经成为一种常见的方式。云服务器提供了灵活、可扩展和高度可靠的计算资源,可以轻松地部署和管理应用程序。Spring Boot 是一款流行的 Java 框架,用于构建独立的、可执行的、自包含的 Spring 应用程序,它也可以轻松地在云服务器上进行部署。在本篇博客中,我将介绍如何使用云服务器来部署 Spring Boot 项目。
云服务器教程
2023/04/18
3.8K0
腾讯云服务器上实现java web项目部署
几天前搞了一台腾讯云服务器。这次在腾讯云上实现java web项目的部署,需要自己搭建环境啥的。自己也是参考了一些教程,可能是教程有些过时,花费了好久才得以实现。于是乎,在实现之后赶紧写下这篇日记记录,方便日后查看。也为那些久久没有实
用户3570397
2019/10/26
10.1K0
【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问
本次教程,Tomcat项目打包成war包到服务器上发布,Springboot项目打包为jar或war包到服务器上发布:
Mintimate
2021/04/06
14.1K0
【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问
java项目部署到linux服务器,微信小程序后台部署到腾讯云服务器(图文详解)
点餐系统的开发,java后台+微信小程序:https://blog.csdn.net/qiushi_1990/article/details/97749686
编程小石头
2019/09/01
12.1K3
把服务器当网盘玩 教你从云服务器下载自己的文件
本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/105633139 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段内容,尤其是脚本之家、码神岛等平台,谢谢配合。
Designer 小郑
2023/08/01
1.3K0
把服务器当网盘玩 教你从云服务器下载自己的文件
Echo 在 Linux 服务器上的部署
我购买的服务器是腾讯云的 CentOS 7.6 / 2 核 4 G,注意你的服务器内存不能小于 4G,否则无法支撑我们这个项目。需要在服务器上安装部署的组件如下图:
飞天小牛肉
2021/02/26
7.6K0
Echo 在 Linux 服务器上的部署
腾讯云服务器怎么用,将web项目部署到腾讯云服务器上流程
(1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服务器下,打开浏览器看是否能访问本地项目.
tengxunyun8点com活动整理
2019/04/26
23.1K0
腾讯云服务器怎么用,将web项目部署到腾讯云服务器上流程
腾讯云服务器
阿里云上搭建php+mysql服务,并使用ftp将本地php文件及数据库文件上传到服务器
达达前端
2019/07/03
385.5K3
腾讯云服务器
推荐阅读
相关推荐
JavaWeb项目部署到Linux服务器
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 利用内置的模式可视化了解数据
  • 即刻了解服务器状态和查询性能
  • 对地理空间数据进行可视化查看、了解和操作
  • 更佳的 CRUD 操作方式使得数据交互更容易
  • 利用可视化解释计划了解性能问题
  • 查看利用率以及管理索引
  • 更简单的数据验证方式
  • 通过插件扩展
  • 聚合变得轻而易举
  • 配置前准备
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档