傳統的關係數據庫通常由數據庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成。MongoDB對於關係型數據庫裏的表,可是集合中沒有列、行和關係概念,這體現了模式自由的特色。
1、關於MongoDB的驅動
MongoDB支持多種語言的驅動,在此咱們只介紹C#的驅動。僅C#驅動都有不少種,每種驅動的形式大體相同,可是細節各有千秋,所以代碼不能通用。比較經常使用的是官方驅動和samus驅動。samus驅動除了支持通常形式的操做以外,還支持linq方式操縱數據。各人比較喜歡這種方式。html
官方驅動下載地址:點擊下載
samus驅動下載地址:點擊下載git
本篇將從samus驅動入手講解數據庫訪問,國際慣例,存取「Hello World!」。github
2、經過samus驅動實現HelloWorld存取
在進行下述操做以前,請先肯定MongoDB服務已經開啓,不知道怎麼開啓服務,請看上篇。下載驅動,新建控制檯項目,並添加對MongoDB.dll的引用,若是你下載的是驅動源碼,編譯一遍引用生成的DLL便可。mongodb
基本代碼以下:數據庫
05 |
string databaseName = "myDatabase" ; |
08 |
string collectionName = "myCollection" ; |
11 |
Mongo mongo = new Mongo(connectionString); |
13 |
//獲取databaseName對應的數據庫,不存在則自動建立 |
14 |
MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase; |
16 |
//獲取collectionName對應的集合,不存在則自動建立 |
17 |
MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>; |
24 |
Document doc = new Document(); |
26 |
doc[ "Msg" ] = "Hello World!" ; |
29 |
mongoCollection.Insert(doc); |
32 |
Document docFind = mongoCollection.FindOne( new Document { { "ID" , 1 } }); |
34 |
//輸出查找到的文檔對象中鍵「Msg」對應的值,並輸出 |
35 |
Console.WriteLine(Convert.ToString(docFind[ "Msg" ])); |
運行程序,成功打印helloword。同時,咱們打開數據文件夾,發現多了兩個文件「myDatabase.ns」和「myDatabase.0」。框架
3、小結
代碼下載:http://files.cnblogs.com/lipan/MongoDB_001.rarspa
本篇簡潔的講解了基本存取操做,下篇將結合MVC框架經過MongoDB實現model層單個集合的基本增刪查改操做。code