1. 程式人生 > >asp.net 使用 MongoDB 初體驗

asp.net 使用 MongoDB 初體驗

首先:驅動


如果asp.net 想使用MongoDB,.net沒有自帶的連結類。得用第三方或官方的連結類。

當然有很多種驅動,我就不一一介紹了。

今天我就介紹一個我比較常用的驅動-----MongoDB。


我們在C#訪問MongoDB所需的驅動就是專案MongoDB了。編譯這個專案就能得到了,檔名:MongoDB.dll

asp.net 中 使用 MongoDB


首先先啟動MongoDB,我在之前的文章裡已經介紹過在這裡就不做介紹了。

建立一個實體類 使用者表

  1. public partial class User{  
  2.     [MongoId]  
  3.     public
    string UID{ getset; }  
  4.     publicstring NAME{ getset; }  
  5.     publicstring SEX{ getset; }  
  6.     publicint AGE{ getset; }  
  7.     }  

說明:這就是一個簡單的類,而且程式碼中的[MongoId]也是可以不要的,如果要是寫了他會對映"_id"欄位。


MongoDB資料庫首先先建一個數據庫叫“dbmy”,建一個集合(表)“User”,在建立文件(資料)。

一下例子都需要引入MongoDB.dll

  1. privatestring _connectionString = 
    "Server=127.0.0.1";  //資料庫伺服器ip或地址
  2. privatestring _dbName = "dbmy";  


新增資料

  1. publicvoid Insert(User user)  
  2. {  
  3.     user.UID = Guid.NewGuid().ToString("N");  
  4.     // 首先建立一個連線
  5.     using( Mongo mongo = new Mongo(_connectionString) ) {  
  6.         // 開啟連線
  7.         mongo.Connect();  
  8.         // 切換到指定的資料庫
  9.         var db = mongo.GetDatabase(_dbName);  
  10.         // 根據型別獲取相應的集合
  11.         var collection = db.GetCollection<User>();  
  12.         // 向集合中插入物件
  13.         collection.Insert(customer);  
  14.     }  
  15. }  

刪除資料

  1. publicvoid Delete(string UId)  
  2. {  
  3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
  4.         mongo.Connect();  
  5.         var db = mongo.GetDatabase(_dbName);  
  6.         var collection = db.GetCollection<Customer>();  
  7.         // 從集合中刪除指定的物件
  8.         collection.Remove(x => x.UID == UId);  
  9.     }  
  10. }  


修改資料

  1. publicvoid Update(User user)  
  2. {  
  3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
  4.         mongo.Connect();  
  5.         var db = mongo.GetDatabase(_dbName);  
  6.         var collection = db.GetCollection<User>();  
  7.         // 更新物件
  8.         collection.Update(user, (x => x.UID == user.UID));  
  9.     }  
  10. }  


獲取資料

  1. public User GetById(string UId)  
  2. {  
  3.     using( Mongo mongo = new Mongo(_connectionString) ) {  
  4.         mongo.Connect();  
  5.         var db = mongo.GetDatabase(_dbName);  
  6.         var collection = db.GetCollection<User>();  
  7.         // 查詢單個物件
  8.         return collection.FindOne(x => x.UID == UId);  
  9.     }  
  10. }  



呼叫


假如把操作方法都封裝在一個叫test.cs的類。

  1. test t=new test();  
  2. //插入資料 
  3. t.Insert(User);  
  4. //更新資料
  5. t.Update(User);  
  6. //刪除資料
  7. t.Delete(Uid);