初識 MongoDB 數據庫

前言

Flask 基礎框架在之前的三篇文章中寫完了。想要學習 web 相關的同學可以自己回顧翻一下,相信看完了,你也可以寫出來一個簡單的小案例來炫耀一波!

說到 web 開發,就不得不提到一個東西,數據庫!之前在介紹實戰項目時候,我提到過本次項目需要用到的數據庫 - MongoDB。本篇來帶你如何從零安裝 MongoDB 數據庫。下一篇介紹 Python 操作數據庫。

數據庫歷史

開始之前,為了照顧一些非專業領域的朋友,先來介紹一下,什麼是數據庫?為什麼會誕生出數據庫的概念?以及為什麼數據庫下還要細分一些不同的領域數據庫。

1. 伴隨數據的發展歷史所帶來的載體

以下也是我自己查的資料(不一定準確,歡迎知道的讀者來挑錯!),雖然知道數據庫設計出來的目的是什麼,不過還是去檢索了下它的發展由來歷史。

數據庫誕生的發展大概經歷了三個重大時期。每一次都是數據爆發提升所帶來的系統改變。

第一個時期是 1880 年美國人口普查。為了表示記錄數據,發明了分揀機、製表機和記錄機,記錄完整的數據。打孔卡上的孔,表示數據。打空帶便是信息的載體。


初識 MongoDB 數據庫


第二個時期 - 文件系統。其本身被認為是一個與文件櫃極為相似的範例。這個時期我理解就是小學時候用到的文件夾,裡面可以按照不同文件進行分類。

在電腦系統中,文件系統我們已經接觸過了,其實就是對文件的進行操作管理的系統。比如你在 Windows 上創建 txt 文本之類的。


初識 MongoDB 數據庫


第三個時期在二十世紀六十年代,隨著計算機速度和功能的增長,計算機被用於製造和更廣泛的實驗室使用。從而誕生了數據庫以及數據庫管理系統(DBMS),到20世紀60年代中期,許多此類系統已投入商業使用。


初識 MongoDB 數據庫


2. 數據庫的設計目的

這裡我就不用官方定義來說了,簡單的舉個栗子用自己的觀點陳述一下。

早期我們使用文件來對數據進行記錄,比如我們常用的 excel ,word 等。Excel 相信大家都用過,它本身的設計基於行和列,由行和列組成一個“二維表”的結構,來對數據進行存儲。使用的過程中,我們可以用篩選等功能來處理數據。但面臨的問題是,當數據過於龐大,文件就會打不開了。甚至可能出現程序崩壞的情況。

那麼此時,就需要一個大數據容量的東西來存儲數據,所以數據庫設計最重要的本質就是存儲大量數據。同時,再此基礎上提供了對數據操作的簡易性,對數據的完整性,以及對數據的安全性等特性。

下面是從 Quora (類似知乎,不對,應該是知乎仿照它...)查到的一個問題,為什麼我們需要數據庫?英語好的同學可以看下,不翻譯了。


初識 MongoDB 數據庫


3. 關係型數據庫與非關係型數據庫

關係型數據庫:

SQL (Structured Query Language) 數據庫,指關係型數據庫。主要代表:SQL Server,Oracle,MySQL(開源),PostgreSQL(開源)。

現在市面上用的最多的關係型數據庫就是以上幾個代表,簡單的說,其實關係型數據庫原理類似 Excel ,由行和列組成一張“二維”關係的數據表。

使用 SQL 語句即可對數據庫進行操作,比如創建庫,創建表,查詢表數據等。。。SQL 語句就像下面這樣:

<code>select * from user;   # 查找用戶表/<code>

查詢結果也類似這樣的展現形式:


初識 MongoDB 數據庫


非關係型數據庫:

NoSQL(Not Only SQL)泛指非關係型數據庫。主要代表:MongoDB,Redis,CouchDB。

有了 SQL 數據庫,為什麼還有 NoSQL 數據庫?

在當今互聯網時代,數據越來越龐大,關係數據庫運行的慢,處理大數據的大多數情況是 NoSQL 比較高效,但 NoSQL 並不能完全取代關係數據庫,有些複雜操作並不能處理。

NoSQL 數據庫種類繁多,但是一個共同的特點都是去掉關係數據庫的關係型特性。數據之間無關係,這樣就非常容易擴展。

舉個常見的例子,僅是個人猜測,我們日常用的微博(若有錯誤,還望指出),它處理每個明星與粉絲之間的關係,這麼種類繁多的屬性字段,如果用 NoSQL 遠比 SQL 要好很多,因為字段與字段之間沒有相關性。

說下為什麼本交通統計項目採用的是 MongoDB 呢?理由很簡單,因為高德地圖返回的數據類型是 JSON 格式,用 MongoDB 兼容性非常好,直接存入即可。

安裝 MongoDB

不同平臺的下載地址都是一樣的,搜索引擎搜索 MongoDB :


初識 MongoDB 數據庫


初識 MongoDB 數據庫


初識 MongoDB 數據庫


這下載入口做的不太明顯,我也是找了一小會兒,哈哈哈!~大家根據自己電腦系統下載不同版本即可。Package MSI就是windows的一鍵安裝,我習慣下 ZIP ,所以選到了 ZIP 進行下載,大概 200 MB+。 解壓後,進入 bin :


初識 MongoDB 數據庫


初識 MongoDB 數據庫


如果此時你直接雙擊打開,能看到的結果就是黑框一閃而過,然後....然後就沒啥了。。。因為你打開的方式不太對!


初識 MongoDB 數據庫


接下來:


初識 MongoDB 數據庫


手動在此目錄下,創建一個文件 mongo.config:


初識 MongoDB 數據庫


記事本或者什麼其他工具,打開編輯,配置下 Mongo 的數據存儲位置以及日誌存儲位置:

<code>dbpath=C:/Users/asus/Desktop/mongodb/dblogpath=C:/Users/asus/Desktop/mongodb/log/mongodb.log/<code>

這裡的路徑一定要是絕對路徑,改成自己的即可,同時在創建對應指定目錄,db 和 log:


初識 MongoDB 數據庫


最後一步,進入 bin ,然後 shift + 鼠標右鍵,在此處打開 shell 窗口,輸入:

<code>mongod.exe --config C:\\Users\\asus\\Desktop\\mongodb\\bin\\mongo.config --install --serviceName "MongoDB" --journal/<code>

這裡的 --config 參數後面的文件也必須是絕對路徑。


初識 MongoDB 數據庫


解釋下,上述代碼的意思是將 mongo 作為服務的形式配置在 windows 電腦上,便於我們啟動。按下 win + R 鍵,打開服務:


初識 MongoDB 數據庫


初識 MongoDB 數據庫


這個就是剛才我們配置的 mongodb 服務,右鍵啟動就好。啟動完畢,可以看下剛才 mongo 的 db 和 log 目錄下是不是生成了一些文件呢:


初識 MongoDB 數據庫


初識 MongoDB 數據庫


以上,mongodb 數據庫安裝完畢。

MongoDB 可視化工具

依然官網,下載可視化工具:


初識 MongoDB 數據庫


類似 mongodb ,點到 tool 處下載,然後讓你填一個信息,瞎寫就好,提交完就能下載了:


初識 MongoDB 數據庫


可視化工具,直接打開 exe 即可:


初識 MongoDB 數據庫


配置默認即可,沒改動過,localhost代表本機,port 27017 是 mongodb 的默認端口:


初識 MongoDB 數據庫


初識 MongoDB 數據庫


初識 MongoDB 數據庫


完工!

可視化工具操作 MongDB

專業人員不要覺得用可視化工具來操作顯得很 lowB ,實際上工具本來就是可以幫我們節省大量的時間。而每個視圖背後對應的本質還是命令代碼。

1. 創建數據庫


初識 MongoDB 數據庫


2. 填寫數據庫名稱,以及 Collection 名稱


初識 MongoDB 數據庫


3. 創建文檔


初識 MongoDB 數據庫


初識 MongoDB 數據庫


插入完成後,轉化為表來展示,看看是否和我們常見的 Excel 相似呢:


初識 MongoDB 數據庫


總結

對於 MongoDB 的具體內容,以及每個官方字段的含義,放在下一篇介紹了!本篇篇幅又超長了。。。

下篇文章,如何使用 Python 操作 MongoDB 數據庫(拖延了一篇。。。),敬請期待!

如果有什麼問題,歡迎小夥伴們留言探討!


分享到:


相關文章: