我试用了 MongoDB 的图形用户界面增删查改工具 Compass(…让我惊叹于 MongoDB 的强大之处)
总结
使用MongoDB官方提供的GUI CRUD工具”MongoDB Compass(指南针)”的备忘录,类似于MariaDB(MySQL)中的Workbench(工作台)。
于是,原本只是出于兴趣的备忘录,却被MongoDB这么厉害的感动所激发,我也会不时地记录下来。
前提条件
本地设备:苹果MacBook Pro(Retina十五英寸,2015年中期款)
操作系统:苹果macOS Mojave(版本10.14.2)
另外,MongoDB已经配置好。
预先了解
如果只了解MySQL等关系型数据库的概念,可能会对MongoDB的概念感到困惑。
请参考以下表格对关键词的理解进行映射。
请注意,这些概念并不完全相同,仅供参考以便更容易理解。
引入
下载工具
可以从「MongoDB官方网站的下载页面」下载。
* 免费的,但需要一些注册工作,例如提供电子邮件地址等。


安装
只需双击下载的文件进行安装。

在Mac中,只需要将应用程序移动到文件夹中即完成安装。

首次启动
只有在初始启动时,它会要求输入各种信息。
-
Enable Product Feedback Tool(フィードバック送信を許可するか)
Enable Geographic Visualizations(サードパーティ製品の地図化サービス連携を許可するか)
Enable Crash Reports(クラッシュレポート送信を許可するか)
Enable Usage Statistics(ツール利用の匿名の使用統計データ送信を許可するか)
Enable Automatic Updates(自動アップデート機能を許可するか)
可以选择将检查打开。(此次我们取消了 “启用产品反馈工具”,”启用崩溃报告” 和 “启用使用统计”)

……其实呢,可以在地理上合作啊。我有点惊讶。
使用方法
连接设置
如果连接设置未设置,则如下图所示。哇,这个界面真酷炫啊,嘿。
与传统的RDB GUI工具相比,用户界面相当时髦。
但是很遗憾,没有日语设置。(截止至2019年2月)

连接后的主屏幕
当连线成功后,会显示出这样的画面。…嗯,果然很酷呢…
会显示出主机内数据库列表。
根据登录用户的权限进行数据库显示控制和操作控制。
这次事先创建了一个名为”sample”的数据库。
即使在登录后跳转到其他页面,也可以通过点击左上角的主页图标返回到当前页面。

如果要断开数据库并创建新连接,请在菜单中选择“断开连接”即可返回。(下图为Mac系统)

创建新的数据库
只需按下主屏幕上的“创建数据库”按钮,即可出现以下界面。只需输入数据库名称和集合名称,然后点击模态框中的“创建数据库”。

在创建DB时出现”指定的命名空间无效 ‘DB 名'”错误。
在生成DB的同时,这里需要创建至少一个集合。如果只输入了DB的名称然后尝试CREATE,将会显示“Invalid namespace specified ‘DB 名’”的错误信息。有点复杂的是,这个错误内容如果意译的话应该是“指定的DB名称无效”,但实际上是因为没有指定集合而导致的。总之,要小心有陷阱。

使用上图所示的状态,在只追加集合名称的情况下,可以成功创建数据库。
删除数据库
在删除时,点击主屏幕上的数据库列表中的垃圾桶图标,就会出现下图所示的界面。
在这种状态下,先进行防止误删除的数据库命名输入操作,然后按下删除按钮即可删除数据库。

集合操作
从DB列表中选择一个DB,或者从左侧导航中展开手风琴并点击其中的集合,即可跳转到集合页面。集合页面有两种显示方式:“列表视图”和“表格视图”。
如果以列表形式显示的话

在表格中显示的情况下

搜索
当您选择了一个收藏时,会立即显示一个列表,您只需在顶部的“筛选器”中输入筛选条件,然后点击“查找”按钮。
输入格式为{字段名: 搜索值}。(请参考官方指南获取更详细信息)
创建新文件(INSERT)
点击「插入文档」按钮,在弹出的模态对话框中只需输入新数据字段的值。
对于标准创建的文档,_id将自动分配ObjectId。
更新文件
只需在每个文档的右侧,点击铅笔标志来更改内容。
或者,直接双击要修改的数据,即可在列表中进行操作。
删除文件
可以从每个文档的右侧垃圾桶中删除。
附加说明:额外的内容
复制集是什么?
副本集(Replica Set)是MongoDB自带的强大复制和自动故障转移机制。
MongoDB具备内置的故障转移机制,可以在多台服务器上设置数据库的复制配置,在特定机器发生故障时,能够在其他机器中避免数据丢失的冗余结构。
此外,MongoDB 还标配了强大的分片(水平划分)功能,可以将数据分散到多台服务器上,而在这个分片过程中,还可以将由多台 MongoDB 服务器构建的复制集添加为分片。
根据这些功能,MongoDB能够简单地构建大规模且高可用的数据库,这也是MongoDB的重要优势之一。
请查阅官方文件以获取详细信息。
MongoDB手册3.0 – 复制介绍。
首先,MongoDB比我想象的要棒!直到我开始调整GUI工具的设置,我才意识到这点。