使用c#連接mongodb雲端資料庫 - (一)簡介
這陣子研究了一下如何使用c#連接mongodb雲端資料庫,紀錄一下心得。
首先先從幾項工具開始介紹吧。
1、mlab
- mongodb的雲端免費server服務
- free的容量是0.5GB
- 其他的雲端服務者:MongoDB Atlas(free:512MB)
mongodb為一open source的NoSQL資料庫,由key+value組成(類似c# Dictionary的概念),
結構類似JSON,是一種稱作BSON的結構;除雲端版外,亦有電腦版可下載至本機使用。
在mongodb中,一筆資料為document,資料表為collection,亦即由documents組成。
欄位為field,每一筆資料可以由一個至多個欄位組成(不一定每筆資料的欄位數相同)。
因mongodb為NoSQL資料庫,故建立資料表時可以不需先建立欄位,直接於資料新增、更新時指定即可。
本文記錄由c#連結雲端mongodb的服務,雲端資料庫利用mlab,需於mlab中註冊帳號後,建立資料庫(database)、資料表(table)、使用者(username)。
mlab註冊與新增資料庫
1.點選官網右上角[SIGN UP]
2.填寫註冊資訊
其中username為日後登入時會使用的帳號
3.新增資料庫(database)、資料表(table)、使用者(username)
註冊並登入後,看到[Create New]按鈕按下,即會出現輸入畫面以新增資料庫
(1)因只是實驗性使用,故選擇sandbox即可,是免費的。至於伺服器要放在誰身上,隨意選擇
(2)新增後使用者介面上會多出一筆資料,即為你剛建立的資料庫。
(3)建立好資料庫以後,請建立使用者
(4)回到使用者介面,看到上方區塊提供了連線字串(其中dbuser、dbpassword可以剛剛建立的使用者資訊填入),之後程式就能以此與資料庫做互動
2、robo3T
- mongodb的GUI manager,能檢視mongodb當中的資料(前身為robomongo)
- 因於mlab中查看、尋找資料並不是那麼便利,故建議可以下載此工具以便查看資料庫內容。
官網當中找到[Download Robo 3T]的按鈕按下後,選擇作業系統後下載。有關此軟體如何使用可上網搜尋相關文章,此篇就不多做教學。
3、c# driver
mongodb .net driver官網
在專案當中連接mongodb之前,最重要的就是下載c# driver。
於你的專案中開啟nuget管理工具後搜尋並下載MongoDB.Driver。
注意[MongoDB.Driver]目前版本必須在.net4.5以上的環境才可執行。(請參考官方下載說明)
相關文件
官方文件對於基本使用的說明蠻清楚的,另因為mongodb .net driver舊版本與新版本差異頗大,
故建議有開發需求者,還是看官方文件吧,
網路上多數的教學文都是較舊版本driver,無法使用於新版driver。
以下說明一下傻露參考的幾份文件:
Quick Tour:
所有最基本的需求,包含如何連線、資料的CRUD(增刪修查詢),都在這裡有介紹,如果不是使用太複雜的功能,在這個頁面當中都能查詢到。時間不多、要快速上手者可以從此份文件開始。
另外,mongodb對於較龐大資料量的處理,也有非同步的處理方式(如此份文件有看到await開頭的寫法,即為非同步的處理)。若不需要非同步處理,採一般寫法即可。Reference:
如果需要再深入的了解,比如想知道如何結合LINQ做集合的處理、BSON到底是甚麼?在這個頁面中可以找到相關資訊。API Documentation
如果還有需要更進階的操作資料庫,而在上面兩份文件不敷需求時,
例如想知道傳入的資料型態很複雜,key對應的資料是一個array,該如何操作?那麼請直接進入此頁面(即mongodb .net driver官網內的[API Documentation])。
不過,這個頁面無提供相關範例可以參考,故可能需要花較多時間實驗。
以上紀錄一些基本會使用到的工具,下一篇則對實作做紀錄。
相關文章:
使用c#連接mongodb雲端資料庫 - (二)連接資料庫與資料新增
使用c#連接mongodb雲端資料庫 - (三)資料查詢