日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

用mongo实现mysql视图_浅谈 MongoDB 的视图

發(fā)布時(shí)間:2023/12/20 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用mongo实现mysql视图_浅谈 MongoDB 的视图 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

在關(guān)系數(shù)據(jù)庫(kù)中,視圖是由查詢定義的可搜索數(shù)據(jù)子集。視圖有時(shí)被稱為“虛擬表”,因?yàn)樗鼈儾淮鎯?chǔ)數(shù)據(jù),但可以像表一樣被查詢。MongoDB 最近在版本 3.4 中引入了視圖。在今天的文章中,我們將學(xué)習(xí)如何使用 Navicat for MongoDB GUI 管理和開(kāi)發(fā)工具在 MongoDB 中創(chuàng)建視圖。

打開(kāi)視圖對(duì)象列表

可以使用下列兩種方法從 Navicat 主窗口打開(kāi)視圖對(duì)象列表:

點(diǎn)擊主工具欄中的“視圖”命令按鈕。

在數(shù)據(jù)庫(kù)對(duì)象樹中選擇“視圖”對(duì)象。

Navicat 視圖設(shè)計(jì)器

視圖設(shè)計(jì)器是一個(gè)專門的Navicat for MongoDB 工具,用于創(chuàng)建和編輯視圖。你可以通過(guò)對(duì)象選項(xiàng)卡工具欄中的“新建視圖”按鈕打開(kāi)它:

你還可以右擊(在 macOS 上使用 Ctrl+點(diǎn)擊)數(shù)據(jù)庫(kù)對(duì)象樹中的“視圖”對(duì)象,然后從彈出菜單中選擇“新建視圖”:

提示:你可以在對(duì)象選項(xiàng)卡中右單(在 macOS 上使用 Ctrl+點(diǎn)擊)視圖并從彈出菜單中選擇“創(chuàng)建打開(kāi)視圖快捷方式”來(lái)創(chuàng)建視圖快捷方式。此選項(xiàng)用于為你提供直接在 Navicat 主窗口中打開(kāi)視圖的便捷方式。

創(chuàng)建視圖

在 MongoDB 中創(chuàng)建視圖時(shí),引擎會(huì)運(yùn)行聚合(aggregation)。因此,創(chuàng)建視圖需要我們指定一個(gè)集合或一個(gè)現(xiàn)有的視圖。

我們將創(chuàng)建一個(gè)僅顯示演員全名的視圖。

在“常規(guī)”選項(xiàng)卡上,從“集合/查看”下拉列表中選擇 actor 集合。

現(xiàn)在點(diǎn)擊“管道”選項(xiàng)卡。它包含“運(yùn)算符”下拉列表以及“表達(dá)式“文本字段。

MongoDB 具有許多用于構(gòu)造表達(dá)式的運(yùn)算符,以便在聚合管道階段中使用這些表達(dá)式來(lái)構(gòu)建視圖。運(yùn)算符表達(dá)式與帶引數(shù)的函數(shù)類似。通常,這些表達(dá)式采用一組引數(shù)并具有以下形式:

{ : [ , ... ] }

我們需要從列表中選擇運(yùn)算符 $project。它將帶有請(qǐng)求字段的文檔傳遞到管道中的下一個(gè)階段。指定的字段可以是輸入文檔中的現(xiàn)有字段或新計(jì)算的字段。

這個(gè)表達(dá)式取消“_id”字段并連接“actor”集合中的“first_name”和“l(fā)ast_name”字段。

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

你可以通過(guò)點(diǎn)擊“腳本預(yù)覽”選項(xiàng)卡查看 Navicat 生成的代碼:

db.createView("Untitled","actor",[

{

$project: {

_id: 0,

"full_name": {

$concat: [

"$first_name",

", ",

"$last_name"

]

}

}

}

])

若要查看新視圖,請(qǐng)點(diǎn)擊“預(yù)覽”按鈕或“結(jié)果”選項(xiàng)卡:

保存視圖后,Navicat 將運(yùn)行上述“db.createView”命令。聚合管道保存在“system.views”集合中。對(duì)于每個(gè)創(chuàng)建的視圖,新文檔也會(huì)保存在“system.views”集合中。

預(yù)告

現(xiàn)在我們已經(jīng)掌握了基礎(chǔ)知識(shí),在下一篇文章中,我們將學(xué)習(xí)集合。

總結(jié)

以上是生活随笔為你收集整理的用mongo实现mysql视图_浅谈 MongoDB 的视图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。