Navicat 部落格

2018 年 9 月 18 日,由 Robert Gravelle 撰寫

在關聯式資料庫中,檢視是由查詢定義的可搜尋資料子集。檢視有時被稱為「虛擬資料表」,因為它們不會儲存資料,但可以像資料表一樣被查詢。最近,MongoDB 在版本 3.4 中加入了檢視。在今天的文章中,我們將學習如何使用 Navicat for MongoDB GUI 管理和開發工具在 MongoDB 中建立檢視。

開啟檢視物件清單

有兩種方法可以從 Navicat 主視窗開啟檢視物件清單:

  • 按一下主工具列中的「檢視」命令按鈕。
  • 在資料庫物件樹中選取「檢視」物件。

Navicat 檢視設計器

檢視設計器是一個用於建立和編輯檢視的專業 Navicat for MongoDB 工具。你可以透過物件索引標籤工具列中的「新增檢視」按鈕開啟它:

你還可以在資料庫物件樹的「檢視」物件上按一下滑鼠右鍵(在 macOS 上使用 Ctrl+點按),然後從快顯功能表中選取「新增檢視」:

提示:你可以在物件索引標籤中在檢視上按一下滑鼠右鍵(在 macOS 上使用 Ctrl+點按),然後從快顯功能表中選取「建立開啟檢視捷徑」來建立檢視捷徑。此選項可為你提供直接在 Navicat 主視窗中開啟檢視的捷徑。

建立檢視

在 MongoDB 中建立檢視時,引擎會執行彙總(aggregation)。因此,建立檢視需要我們指定一個集合或一個現有的檢視。

我們將建立一個僅顯示演員全名的檢視。

在「一般」索引標籤上,從「集合/檢視」下拉式清單中選取 actor 集合。

現在按一下「管線」索引標籤。它包含「運算子」下拉式清單和「運算式」文字欄位。

MongoDB 具有許多用於建構運算式的運算子,以便在彙總管線階段中使用這些運算式來構成你的檢視。運算子運算式與有引數的函式類似。這些運算式通常會有一組引數和以下形式:

{ <operator>: [ <argument1>, <argument2> ... ] }

我們需要從清單中選取 $project 運算子。它將要求的欄位的文件傳遞到管線中的下一個階段。指定的欄位可以是輸入文件中的現有欄位或新計算的欄位。

這個運算式隱藏「_id」欄位並串連「actor」集合中的「first_name」和「last_name」欄位。

{ _id: 0, full_name : { $concat: ["$first_name", ", ", "$last_name"] } }

你可以按一下「指令碼預覽」索引標籤以檢視 Navicat 產生的指令碼:

db.createView("Untitled","actor",[
    {
        $project: {
            _id: 0,
            "full_name": {
                $concat: [
                    "$first_name",
                    ", ",
                    "$last_name"
                ]
            }
        }
    }
])

若要查看新檢視,請按一下「預覽」按鈕或「結果」索引標籤:

儲存檢視後,Navicat 將執行上述「db.createView」命令。彙總管線儲存在「system.views」集合中。每個建立的檢視的新文件也會儲保在「system.views」集合中。

預告

現在我們已經掌握了基礎知識,在下一篇文章中,我們將學習集合。

Navicat 文章
頻道記錄
分享
部落格封存檔