最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

MongoDB4.X基礎(chǔ)教程

2022-07-14 09:51 作者:智慧云聯(lián)課堂  | 我要投稿

MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫。由C++語言編寫。旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB是一個(gè)介于關(guān)系型數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似JSON的BJSON格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。Mongo最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。

MongoDB數(shù)據(jù)操作基于json格式

二、MongoDB安裝

1. MongoDB下載

  • 下載地址:https://www.mongodb.com/try/download/community

2.MongoDB安裝

  • 下載的 .msi 文件,下載后雙擊該文件,按操作提示安裝即可。

  • 安裝過程中,你可以通過點(diǎn)擊 “Custom(自定義)” 按鈕來設(shè)置你的安裝目錄,建議不要安裝在C盤。

  • 全程點(diǎn)擊next安裝,但是這一步需要注意,這里是安裝可視化組件,默認(rèn)是選擇狀態(tài),這里需要取消選中,否則在安裝的過程中要下載可視化組件,比較慢,甚至有時(shí)候會(huì)報(bào)錯(cuò):

3.MongoDB環(huán)境變量配置

  • 在桌面右鍵 此電腦>>>屬性>>>高級(jí)系統(tǒng)設(shè)置>>>高級(jí)>>>環(huán)境變量>>>找到path>>>選擇編輯>>>新建

  • 在打開的環(huán)境變量中MongoDB安裝的bin路徑復(fù)制到新建目錄中

  • 然后點(diǎn)擊所有的確定即可完成環(huán)境變量配置

4.驗(yàn)證安裝是否成功

  • 打開CMD命令窗口,輸入mongo,出現(xiàn)以下提示信息,說明安裝成功。

三、MongoDB使用基本介紹

  • MongoDB屬于非關(guān)系型數(shù)據(jù)庫,其數(shù)據(jù)庫、表、字段等和關(guān)系型數(shù)據(jù)庫(如:MySQL數(shù)據(jù)庫)有一定的差別;

  • MongoDB中的集合就相當(dāng)于關(guān)系型數(shù)據(jù)庫中的表

  • MongoDB中的json字符串的鍵相當(dāng)于關(guān)系型數(shù)據(jù)庫中的列名;

  • 在操作MongoDB數(shù)據(jù)的時(shí)候全部使用json數(shù)據(jù)格式。

1.查看數(shù)據(jù)庫名

  • 查看所有數(shù)據(jù)庫名

  • 這三個(gè)數(shù)據(jù)庫是默認(rèn)系統(tǒng)數(shù)據(jù)庫,不能刪除。

2. 查看集合

  • 查看集合前提是要先指定使用哪一個(gè)數(shù)據(jù)庫是用命令

  • 就是admin這個(gè)數(shù)據(jù)庫中的表

3.查詢集合中的數(shù)據(jù)

  • 這里先簡單介紹查詢集合中的所有數(shù)據(jù),方便后面學(xué)習(xí)。

  • 查詢集合中的所有數(shù)據(jù),這里查詢的是系統(tǒng)數(shù)據(jù)庫admin中的集合

  • 這里的_id是集合的鍵,每個(gè)集合里面默認(rèn)存在,version是集合中的另一個(gè)鍵,相當(dāng)于關(guān)系型數(shù)據(jù)庫中的字段

四、創(chuàng)建數(shù)據(jù)庫及添加數(shù)據(jù)

  • MongoDB不能夠直接創(chuàng)建數(shù)據(jù)庫,需要添加一條數(shù)據(jù)才能創(chuàng)建

1.創(chuàng)建數(shù)據(jù)庫和插入數(shù)據(jù)

  • 先指定創(chuàng)建的數(shù)據(jù)

  • 然后執(zhí)行添加數(shù)據(jù)命令

  • 這里插入了6列數(shù)據(jù),分別是員工的編號(hào),姓名,性別,年齡,薪資及所在的部門

  • 表示一行數(shù)據(jù)插入成功,說明創(chuàng)建數(shù)據(jù)成功,同時(shí)添加了一套數(shù)據(jù),我們可以繼續(xù)添加

  • 隨著數(shù)據(jù)的插入,數(shù)據(jù)庫也隨著創(chuàng)建成功。

五、查詢數(shù)據(jù)

查詢所有數(shù)據(jù),在查詢數(shù)據(jù)前要先指定使用哪個(gè)數(shù)據(jù)庫,再查詢數(shù)據(jù)庫中的所有集合,根據(jù)相應(yīng)集合再查詢數(shù)據(jù)。

1. 查詢所有數(shù)據(jù)

2.去掉集合中重復(fù)的數(shù)據(jù)

3. 查詢年齡等于25的數(shù)據(jù)

  • 這里的“age”可以不加“ ”,直接寫成{age:25}

4. 查詢ename=“李元芳“的數(shù)據(jù)

5. 查詢age>30歲的員工數(shù)據(jù)

6. 查詢age<25的員工數(shù)據(jù)

7.查詢age>=30的員工數(shù)據(jù)

8. 查詢age<=30的員工數(shù)據(jù)

9. 查詢age>=25并且age<=30的員工數(shù)據(jù)

10. 查詢?nèi)啃绽畹膯T工數(shù)據(jù)(模糊查詢)

  • 模糊查詢一般用于查詢數(shù)據(jù)量比較小的集合數(shù)據(jù)

11. 查詢姓名以“張”開頭的員工數(shù)據(jù)

12. 查詢以姓名以“靜”結(jié)尾的員工數(shù)據(jù)

13. 查詢指定列的員工數(shù)據(jù)

  • 查詢所有員工年齡的數(shù)據(jù)

  • 查詢所有員工的姓名和年齡的數(shù)據(jù)

  • 查詢age>=30的員工姓名、年齡和薪資

14. 排序

  • 按照年齡升序排列

  • 按照薪資降序排列

15. 查詢ename=admin且age=20的員工數(shù)據(jù)

16. 查詢前5條數(shù)據(jù)

17. 查詢10條以后的數(shù)據(jù)

  • 這里一共12條數(shù)據(jù),查詢10條以后的數(shù)據(jù),結(jié)果是兩條數(shù)據(jù)。

18. 查詢集合中的總數(shù)據(jù)

  • 一共12條數(shù)據(jù)

  • 查詢salary>=5000的員工數(shù)量

  • 驗(yàn)證(查詢查詢salary>=5000的員工數(shù)據(jù),一共是6條。)

19. 分頁查詢

  • 按照每頁顯示5條數(shù)據(jù)查詢,一共12條數(shù)據(jù),就要查詢3頁

  • skip的值=(頁數(shù)-1)* 每頁顯示數(shù)量

  • skip(N):表示要查詢第N條數(shù)據(jù)后的數(shù)據(jù)

20.關(guān)鍵字or的查詢方式

  • 查詢年齡是30或者年齡是35的員工數(shù)據(jù)(注意寫法)

21. 查詢第一條數(shù)據(jù)


22. 查詢當(dāng)前表所在的數(shù)據(jù)庫

六、更新數(shù)據(jù)

  • 更新數(shù)據(jù)一定要有條件限制,并且需要加上否則會(huì)全部修改

  • 第一個(gè)參數(shù)是條件,后面的參數(shù)是要修改的數(shù)據(jù)或者是其他操作,比如批量操作

1. 更新員工李元靜的年齡為32歲

  • 驗(yàn)證(查詢姓名是李元靜的員工數(shù)據(jù))

2. 更新員工李元靜的薪資為1600并且所在部門修改為30

  • 驗(yàn)證(查詢姓名是李元靜的員工數(shù)據(jù))

3. 批量更新數(shù)據(jù)

  • 把年齡是35歲的更新為34歲

  • 設(shè)置第三個(gè)參數(shù):

  • 通過驗(yàn)證所有數(shù)據(jù)沒有年齡為35的員工

4. $inc使用

  • $inc將一個(gè)字段的值增加或者減少

  • 把李元芳的年齡減少1歲,同時(shí)薪資加2000

  • 驗(yàn)證

七、刪除操作

1. 刪除指定條件的數(shù)據(jù)

2. 刪除所有數(shù)據(jù)

2. 刪除所有數(shù)據(jù)

3. 刪除集合

4.刪除數(shù)據(jù)庫

5. 溫馨提示

  • 對(duì)數(shù)據(jù)庫數(shù)據(jù)執(zhí)行刪除操作時(shí),記得加條件!

八、MongoDB數(shù)據(jù)庫索引

  • MongoDB數(shù)據(jù)庫索引是指對(duì)數(shù)據(jù)庫集合中的一列或者多列進(jìn)行排序的一種結(jié)構(gòu),可以大大縮減我們在使用數(shù)據(jù)庫查詢時(shí)候的時(shí)間,其用法和關(guān)系型數(shù)據(jù)庫一樣。

1. 模擬批量插入數(shù)據(jù)

  • 在使用數(shù)據(jù)庫前,我們創(chuàng)建一個(gè)com數(shù)據(jù)庫和users集合,模擬60萬條數(shù)據(jù)

  • PS:插入60萬條數(shù)據(jù)大概需要5分鐘

  • 驗(yàn)證數(shù)據(jù)

2.無索引查詢所耗費(fèi)時(shí)間

  • 通過可以知道查詢所耗費(fèi)時(shí)間為254毫秒,當(dāng)然這與計(jì)算機(jī)配置性能有關(guān)。

3. 創(chuàng)建索引

  • 為userNo創(chuàng)建索引

4. 查詢索引

  • _id為集合默認(rèn)id索引,userNo是自定義索引

5. 使用索引查詢所耗費(fèi)時(shí)間

  • 用索引查詢userNo的值,可以通過知道,所耗費(fèi)的時(shí)間為0毫秒,大大縮短了查詢速度

6. 刪除索引

驗(yàn)證


  • 可以看出,我們自定義的索引已經(jīng)刪除

7. 復(fù)合索引

  • 當(dāng)要對(duì)多個(gè)字段進(jìn)行經(jīng)常性大量查詢的時(shí)候,我們可以設(shè)置復(fù)合索引

  • 查看復(fù)合索引

  • userNo和userName是我們自定義的索引

  • 查詢userName:”張三599999”所耗費(fèi)時(shí)間

  • 通過可以看出,查詢userNo和userName只需要2毫秒

  • 注意:如果在一個(gè)集合中,對(duì)多個(gè)字段設(shè)置索引N(N!=1),在使用復(fù)合索引查詢的時(shí)候,要連同第一個(gè)索引字段一起查詢,如果只單單查詢第N個(gè),索引將沒有效果。

8.唯一索引

  • 創(chuàng)建唯一索引的條件是,集合中字段的數(shù)據(jù)不能重復(fù),但在缺省情況下創(chuàng)建是索引均不是唯一索引

  • 由于集合中的age都是一樣的值,在給age創(chuàng)建唯一索引的時(shí)候會(huì)報(bào)錯(cuò)

  • 為age創(chuàng)建唯一索引,失敗


MongoDB4.X基礎(chǔ)教程的評(píng)論 (共 條)

分享到微博請遵守國家法律
舞阳县| 江孜县| 会泽县| 阿坝县| 辽宁省| 新安县| 长葛市| 临朐县| 扎赉特旗| 农安县| 望奎县| 衡东县| 项城市| 封丘县| 金坛市| 青阳县| 扶风县| 永川市| 临清市| 逊克县| 星子县| 新干县| 日喀则市| 佛山市| 定襄县| 韩城市| 咸丰县| 阳城县| 岳池县| 常州市| 莲花县| 夹江县| 普陀区| 唐山市| 宁津县| 定日县| 尼玛县| 兰西县| 苏尼特左旗| 虎林市| 临夏市|