1. 程式人生 > >如何在.Net中使用MongoDB

如何在.Net中使用MongoDB

命令 方便 2個 結構 nal 127.0.0.1 數據交換格式 簡易 安裝

最近在研究mongodb,針對.net 中使用mongodb的文章要麽是早期的驅動版本,要麽資料很少,所以寫個隨筆記錄一下

本文主要記錄

  1.什麽是MongoDB

  2.MongoDB windows 下安裝

  3..net中使用MongoDB

  4.案例代碼

什麽是MongoDB

MongoDB是基於文檔的存儲的(而非表),是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

Mongo主要解決的是海量數據的訪問效率問題。因為Mongo主要是支持海量數據存儲的,所以Mongo還自帶了一個出色的分布式文件系統GridFS,可以支持海量的數據存儲。由於Mongo可以支持復雜的數據結構,而且帶有強大的數據查詢功能,因此非常受到歡迎。

大家對於JSON比較熟悉,但是什麽是BSON呢

BSON是MongoDB的數據存儲格式。BSON基於JSON格式,選擇JSON進行改造的原因主要是JSON的通用性及JSON的schemaless的特性。

1.更快的遍歷速度

對JSON格式來說,太大的JSON結構會導致數據遍歷非常慢。在JSON中,要跳過一個文檔進行數據讀取,需要對此文檔進行掃描才行,需要進行麻煩數據結構匹配,比如括號的匹配,而BSON對JSON的一大改進就是,它會將JSON的每一個元素的長度存在元素的頭部,這樣你只需要讀取到元素長度就能直接seek到指定的點上進行讀取了。

2.操作更簡易

對JSON來說,數據存儲是無類型的,比如你要修改基本一個值,從9到10,由於從一個字符變成了兩個,所以可能其後面的所有內容都需要往後移一位才可以。而使用BSON,你可以指定這個列為數字列,那麽無論數字從9長到10還是100,我們都只是在存儲數字的那一位上進行修改,不會導致數據總長變大。當然,在MongoDB中,如果數字從整形增大到長整型,還是會導致數據總長變大的。

3.增加了額外的數據類型

JSON是一個很方便的數據交換格式,但是其類型比較有限。BSON在其基礎上增加了“byte array”數據類型。這使得二進制的存儲不再需要先base64轉換後再存成JSON。大大減少了計算開銷和數據大小。當然,在有的時候,BSON相對JSON來說也並沒有空間上的優勢,因為有了類型概念

MongoDB windows下 安裝

  MongoDB的安裝很簡單,設置好安裝路徑後,一直Next直到安裝結束,最大的坑就是MongoDB服務的安裝,下面具體說下MongoDB安裝之後的一些配置操作

  1.在根目錄下創建數據庫路徑(data目錄)、日誌路徑(logs目錄)、日誌文件(mongo.log文件)、配置路徑(conf目錄)我的安裝路徑是:D:\Program Files\mongodb

  2.在conf目錄下創建配置文件mongo.conf,文件內容如下:

logpath=D:\Program Files\mongodb\logs\mongodb.log #日誌輸出文件路徑
logappend=true #錯誤日誌采用追加模式,配置這個選項後mongodb的日誌會追加到現有的日誌文件,而不是從新創建一個新文件
journal=true #啟用日誌文件,默認啟用
quiet=true #這個選項可以過濾掉一些無用的日誌信息,若需要調試使用請設置為false
port=27017 #端口號 默認為27017
auth=true   #啟用驗證 需要用戶名密碼

  配置完成以上2個步驟 就可以 啟動MongoDB了

  運行CMD 輸入命令 (註意 mongod的路徑) mongod --config " D:\Program Files\mongodb\data \conf\mongo.conf"

  3.創建並啟動MongoDB服務

  如果每次都按照步驟三那樣操作,豈不是相當麻煩,按照如下命令來創建並啟動MongoDB服務,就可以通過windows服務來管理MongoDB的啟動和關閉了

  mongod --config " D:\Program Files\mongodb\data \conf\mongo.conf" --install --serviceName "MongoDB"

  net start MongoDB

  測試是否成功 可以在 瀏覽器中輸入http://127.0.0.1:27017 如果出現下圖表示服務安裝成功

  如果需要卸載MongoDB服務 在CMD 中運行 mongod.exe --remove --serviceName "MongoDB"

  好了今天就寫到這裏,下篇文章開始介紹如何在.net中使用MongoDB ,並完成 C# MongoDB helper

如何在.Net中使用MongoDB