MongoDB 通過samus驅動實現基本數據操作

webphp 12年前發布 | 34K 次閱讀 MongoDB NoSQL數據庫

傳統的關系數據庫一般由數據庫(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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!