C# 連結 MongoDB 說明

C# 連結 MongoDB 說明


安裝完成後,接下來當然得來試試怎麼連結MongoDB囉。

但在連結之前,強烈建議至少基礎的NoSql要懂得操作。

由於滷蛇大叔對.NET較熟悉,因此用C#來測試看看。


當然,在測試之前,也要安裝相關的擴充元件囉。

首先,開啟專案,接著,開啟NuGet



















鍵入 Install-Package mongocsharpdriver
看到以下畫面代表完成囉








參考

之後在方案總管裡面的參考,就可看到兩個MongoDB元件


















在這邊我測試新增資料以及讀取DB資料

程式檔一開始一定要先using該參考進來

using MongoDB.Bson;
using MongoDB.Driver;





首先我先處理新增資料的部份,畢竟DB裡面沒啥資料

            string connString = "mongodb://IP:27017/MyTest";
            MongoServer server = MongoServer.Create(connString);
            // 連接到 db
            MongoDatabase db = server.GetDatabase("MyTest");
            MongoCollection collection = db.GetCollection("table1");
            BsonDocument inserData1 = new BsonDocument{
                {"Key","2"},
                {"text","this is book"},
                {"number","5"}
            };
            collection.Insert(inserData1);
            server.Disconnect();



因在撰寫的當中發現上述使用方式是舊的方法,所以會出現綠色標誌符號,修正後如下,


            string connString = "mongodb://IP:27017/MyTest";
            MongoClient _client = new MongoClient(connString);
            MongoServer _server = _client.GetServer();
            _server.Connect();
            // 連接到 db
            MongoDatabase db = _server.GetDatabase("MyTest");
            MongoCollection _collection = db.GetCollection("table1");
            BsonDocument inserData1 = new BsonDocument{
                {"Key","2"},
                {"text","this is book"},
                {"number","5"}
            };
            _collection.Insert(inserData1);
            _server.Disconnect();

各位可以仔細看一下兩者的不同。

此處我新增一筆資料,分別有三個欄位 Key、text、number


在來,處理讀取的部份,

首先在UI加入一個GridView,

接著程式碼如下


string connString = "mongodb://IP:27017/MyTest";
MongoClient _client = new MongoClient(connString);
MongoServer _server = _client.GetServer();
_server.Connect();
 // 連接到 db
MongoDatabase db = _server.GetDatabase("MyTest");
MongoCollection<CUser> mongoCollection = db.GetCollection<CUser> ("table1");
GridView1.DataSource = mongoCollection.FindAll();
GridView1.DataBind();
_server.Disconnect();


建置後成果













程式碼部份因為測試,所以沒特別去建構,別太苛責QQ










留言