MongoDB 通過samus驅動實現基本數據操作
傳統的關系數據庫一般由數據庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成。MongoDB對于關系型數據庫里的表,但是集合中沒有列、行和關系概念,這體現了模式自由的特點。
一、關于MongoDB的驅動
MongoDB支持多種語言的驅動,在此我們只介紹C#的驅動。僅C#驅動都有很多種,每種驅動的形式大致相同,但是細節各有千秋,因此代碼不能通用。比較常用的是官方驅動和samus驅動。samus驅動除了支持一般形式的操作之外,還支持linq方式操縱數據。各人比較喜歡這種方式。
官方驅動下載地址:點擊下載
samus驅動下載地址:點擊下載
本篇將從samus驅動入手講解數據庫訪問,國際慣例,存取“Hello World!”。
二、通過samus驅動實現HelloWorld存取
在進行下述操作之前,請先確定MongoDB服務已經開啟,不知道怎么開啟服務,請看上篇。下載驅動,新建控制臺項目,并添加對MongoDB.dll的引用,如果你下載的是驅動源碼,編譯一遍引用生成的DLL即可。
基本代碼如下:
01 |
//鏈接字符串 |
02 |
string connectionString = "mongodb://localhost" ; |
03 |
04 |
//數據庫名 |
05 |
string databaseName = "myDatabase" ; |
06 |
07 |
//集合名 |
08 |
string collectionName = "myCollection" ; |
09 |
10 |
//定義Mongo服務 |
11 |
Mongo mongo = new Mongo(connectionString); |
12 |
13 |
//獲取databaseName對應的數據庫,不存在則自動創建 |
14 |
MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase; |
15 |
16 |
//獲取collectionName對應的集合,不存在則自動創建 |
17 |
MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>; |
18 |
19 |
//鏈接數據庫 |
20 |
mongo.Connect(); |
21 |
try |
22 |
{ |
23 |
//定義一個文檔對象,存入兩個鍵值對 |
24 |
Document doc = new Document(); |
25 |
doc[ "ID" ] = 1; |
26 |
doc[ "Msg" ] = "Hello World!" ; |
27 |
28 |
//將這個文檔對象插入集合 |
29 |
mongoCollection.Insert(doc); |
30 |
31 |
//在集合中查找鍵值對為ID=1的文檔對象 |
32 |
Document docFind = mongoCollection.FindOne( new Document { { "ID" , 1 } }); |
33 |
34 |
//輸出查找到的文檔對象中鍵“Msg”對應的值,并輸出 |
35 |
Console.WriteLine(Convert.ToString(docFind[ "Msg" ])); |
36 |
} |
37 |
finally |
38 |
{ |
39 |
//關閉鏈接 |
40 |
mongo.Disconnect(); |
41 |
} |
運行程序,成功打印helloword。同時,我們打開數據文件夾,發現多了兩個文件“myDatabase.ns”和“myDatabase.0”。
本文由用戶 webphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!