1. 程式人生 > >在C#中使用samus驅動操作MongoDB

在C#中使用samus驅動操作MongoDB

再來介紹一款第三方驅動samus,這是一款使用使用較多的驅動,更新頻率比較快,samus驅動除了支援一般形式的操作之外,還支援Linq 和Lambda 表示式。

下載地址:https://github.com/samus/mongodb-csharp

下載回來編譯得到兩個dll

MongoDB.dll          驅動的主要程式

MongoDB.GridFS.dll    用於儲存大檔案。

這裡我們引用MongoDB.dll  即可。關於MongoDB.GridFS.dll 本文用不到,暫不介紹,無視它。

其連線資料庫以及CRUD操作如下:

//資料庫連線字串const string strconn = "
mongodb://127.0.0.1:27017"; //資料庫名稱const string dbName = "cnblogs"; //定義資料庫MongoDatabase db; /// <summary>/// 開啟資料庫連結 /// </summary>public void GetConnection() { //定義Mongo服務 Mongo mongo = new Mongo(strconn); //開啟連線 mongo.Connect(); //獲得資料庫cnblogs,若不存在則自動建立 db = mongo.GetDatabase(dbName) as MongoDatabase; } ///
<summary>/// 新增資料 /// </summary>public void Insert() { var col = db.GetCollection<Users>(); //或者 //var col = db.GetCollection("Users"); Users users = new Users(); users.Name = "xumingxiang"; users.Sex = "man"; col.Insert(users); } /// <summary>/// 更新資料 /// </summary>
public void Update() { var col = db.GetCollection<Users>(); //查出Name值為xumingxiang的第一條記錄 Users users = col.FindOne(x => x.Name == "xumingxiang"); //或者 //Users users = col.FindOne(new Document { { "Name", "xumingxiang" } }); users.Sex = "women"; col.Update(users, x => x.Sex == "man"); } /// <summary>/// 刪除資料 /// </summary>public void Delete() { var col = db.GetCollection<Users>(); col.Remove(x => x.Sex == "man"); ////或者 ////查出Name值為xumingxiang的第一條記錄 //Users users = col.FindOne(x => x.Sex == "man"); //col.Remove(users);} /// <summary>/// 查詢資料 /// </summary>public void Query() { var col = db.GetCollection<Users>(); var query = new Document { { "Name", "xumingxiang" } }; //查詢指定查詢條件的全部資料 var result1 = col.Find(query); //查詢指定查詢條件的第一條資料 var result2 = col.FindOne(query); //查詢全部集合裡的資料 var result3 = col.FindAll(); }