欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB學(xué)習(xí)筆記(二) 通過samus驅(qū)動實現(xiàn)基本數(shù)據(jù)操作

 更新時間:2013年07月10日 11:56:40   作者:  
傳統(tǒng)的關(guān)系數(shù)據(jù)庫一般由數(shù)據(jù)庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成
傳統(tǒng)的關(guān)系數(shù)據(jù)庫一般由數(shù)據(jù)庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由(database)、集合(collection)、文檔對象(document)三個層次組成。MongoDB對于關(guān)系型數(shù)據(jù)庫里的表,但是集合中沒有列、行和關(guān)系概念,這體現(xiàn)了模式自由的特點。

一、關(guān)于MongoDB的驅(qū)動

MongoDB支持多種語言的驅(qū)動,在此我們只介紹C#的驅(qū)動。僅C#驅(qū)動都有很多種,每種驅(qū)動的形式大致相同,但是細(xì)節(jié)各有千秋,因此代碼不能通用。比較常用的是官方驅(qū)動和samus驅(qū)動。samus驅(qū)動除了支持一般形式的操作之外,還支持linq方式操縱數(shù)據(jù)。各人比較喜歡這種方式。

  官方驅(qū)動下載地址:點擊下載
  samus驅(qū)動下載地址:點擊下載

  本篇將從samus驅(qū)動入手講解數(shù)據(jù)庫訪問,國際慣例,存取“Hello World!”。

二、通過samus驅(qū)動實現(xiàn)HelloWorld存取

在進(jìn)行下述操作之前,請先確定MongoDB服務(wù)已經(jīng)開啟,不知道怎么開啟服務(wù),請看上篇。下載驅(qū)動,新建控制臺項目,并添加對MongoDB.dll的引用,如果你下載的是驅(qū)動源碼,編譯一遍引用生成的DLL即可。

  基本代碼如下:

復(fù)制代碼 代碼如下:

//鏈接字符串
string connectionString = "mongodb://localhost";

//數(shù)據(jù)庫名
string databaseName = "myDatabase";

//集合名
string collectionName = "myCollection";

//定義Mongo服務(wù)
Mongo mongo = new Mongo(connectionString);

//獲取databaseName對應(yīng)的數(shù)據(jù)庫,不存在則自動創(chuàng)建
MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase;

//獲取collectionName對應(yīng)的集合,不存在則自動創(chuàng)建
MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>;

//鏈接數(shù)據(jù)庫
mongo.Connect();
try
{
    //定義一個文檔對象,存入兩個鍵值對
    Document doc = new Document();
    doc["ID"] = 1;
    doc["Msg"] = "Hello World!";

    //將這個文檔對象插入集合
    mongoCollection.Insert(doc);

    //在集合中查找鍵值對為ID=1的文檔對象
    Document docFind = mongoCollection.FindOne(new Document { { "ID", 1 } });

    //輸出查找到的文檔對象中鍵“Msg”對應(yīng)的值,并輸出
    Console.WriteLine(Convert.ToString(docFind["Msg"]));
}
finally
{
    //關(guān)閉鏈接
    mongo.Disconnect();
}

運行程序,成功打印helloword。同時,我們打開數(shù)據(jù)文件夾,發(fā)現(xiàn)多了兩個文件“myDatabase.ns”和“myDatabase.0”。

三、小結(jié)

  代碼下載:http://xiazai.jb51.net/201307/yuanma/MongoDB_001.rar

  本篇簡潔的講解了基本存取操作,下篇將結(jié)合MVC框架通過MongoDB實現(xiàn)model層單個集合的基本增刪查改操作。

作者:李盼(Lipan)
出處:[Lipan] (http://www.cnblogs.com/lipan/)

相關(guān)文章

最新評論