我试用了 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 での概念 RDB での概念 データベース データベース コレクション テーブル ドキュメント 行/レコード フィールド 列

引入

下载工具

可以从「MongoDB官方网站的下载页面」下载。
* 免费的,但需要一些注册工作,例如提供电子邮件地址等。

スクリーンショット 2019-02-03 21.05.33.png
スクリーンショット 2019-02-03 21.22.00.png

安装

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

スクリーンショット 2019-02-03 21.25.43.png

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

スクリーンショット 2019-02-03 21.27.43.png

首次启动

只有在初始启动时,它会要求输入各种信息。

    Enable Product Feedback Tool(フィードバック送信を許可するか)
    Enable Geographic Visualizations(サードパーティ製品の地図化サービス連携を許可するか)
    Enable Crash Reports(クラッシュレポート送信を許可するか)
    Enable Usage Statistics(ツール利用の匿名の使用統計データ送信を許可するか)
    Enable Automatic Updates(自動アップデート機能を許可するか)

可以选择将检查打开。(此次我们取消了 “启用产品反馈工具”,”启用崩溃报告” 和 “启用使用统计”)

スクリーンショット 2019-02-03 21.38.47.png

……其实呢,可以在地理上合作啊。我有点惊讶。

使用方法

连接设置

如果连接设置未设置,则如下图所示。哇,这个界面真酷炫啊,嘿。
与传统的RDB GUI工具相比,用户界面相当时髦。
但是很遗憾,没有日语设置。(截止至2019年2月)

スクリーンショット 2019-02-03 21.48.33.png
設定項目 内容 Hostname MongoDB 起動ホスト名。今回は localhost で行う Port MongoDB 起動ポート番号。今回はデフォルトの 27017 SRV Record ドメイン情報の特殊な設定。今回は無効のまま Authentication MongoDB の認証設定を行なっていない場合は None でよい。今回はユーザ認証してるので「Username/Password」を選択。 Username DB 接続時のユーザID Password DB 接続時のユーザパスワード Authentication Darabase 認証設定選択時のみ表示される項目。標準的な構築なら「admin」にユーザ作ってるはず Replica Set Name レプリケーションの設定項目(※ 詳細は後述)。今回は不要 Read Preference こちらもレプリケーションの設定項目。今回不要 SSL ホストとのSSL通信設定。今回はローカルなので None SSH Tunnel こちらも None Favorite Name 画面左ナビゲーションの「Favorites」欄に表示される任意の設定名称。日本語も使えます。未設定の場合は「Favorites」に表示されず、「RECENTS」の接続履歴にのみ表示される

连接后的主屏幕

当连线成功后,会显示出这样的画面。…嗯,果然很酷呢…
会显示出主机内数据库列表。
根据登录用户的权限进行数据库显示控制和操作控制。
这次事先创建了一个名为”sample”的数据库。

即使在登录后跳转到其他页面,也可以通过点击左上角的主页图标返回到当前页面。

スクリーンショット 2019-02-03 22.33.58.png

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

スクリーンショット 2019-02-03 23.47.56.png

创建新的数据库

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

スクリーンショット 2019-02-03 23.53.57.png

在创建DB时出现”指定的命名空间无效 ‘DB 名'”错误。

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

スクリーンショット 2019-02-04 0.02.25.png

使用上图所示的状态,在只追加集合名称的情况下,可以成功创建数据库。

删除数据库

在删除时,点击主屏幕上的数据库列表中的垃圾桶图标,就会出现下图所示的界面。
在这种状态下,先进行防止误删除的数据库命名输入操作,然后按下删除按钮即可删除数据库。

スクリーンショット 2019-02-04 0.11.23.png

集合操作

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

如果以列表形式显示的话

スクリーンショット 2019-02-04 0.14.41.png

在表格中显示的情况下

スクリーンショット 2019-02-04 0.16.11.png

搜索

当您选择了一个收藏时,会立即显示一个列表,您只需在顶部的“筛选器”中输入筛选条件,然后点击“查找”按钮。
输入格式为{字段名: 搜索值}。(请参考官方指南获取更详细信息)

创建新文件(INSERT)

点击「插入文档」按钮,在弹出的模态对话框中只需输入新数据字段的值。
对于标准创建的文档,_id将自动分配ObjectId。

更新文件

只需在每个文档的右侧,点击铅笔标志来更改内容。
或者,直接双击要修改的数据,即可在列表中进行操作。

删除文件

可以从每个文档的右侧垃圾桶中删除。

附加说明:额外的内容

复制集是什么?

副本集(Replica Set)是MongoDB自带的强大复制和自动故障转移机制。

MongoDB具备内置的故障转移机制,可以在多台服务器上设置数据库的复制配置,在特定机器发生故障时,能够在其他机器中避免数据丢失的冗余结构。

此外,MongoDB 还标配了强大的分片(水平划分)功能,可以将数据分散到多台服务器上,而在这个分片过程中,还可以将由多台 MongoDB 服务器构建的复制集添加为分片。

根据这些功能,MongoDB能够简单地构建大规模且高可用的数据库,这也是MongoDB的重要优势之一。

请查阅官方文件以获取详细信息。
MongoDB手册3.0 – 复制介绍。

首先,MongoDB比我想象的要棒!直到我开始调整GUI工具的设置,我才意识到这点。

bannerAds