asp.net 使用 MongoDB 初體驗

 首先:驅動


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

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

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

接下來,我們還要去下載MongoDB的C#驅動,它可以讓我們在C#中使用MongoDB 。下載地址: https://github.com/samus/mongodb-csharp


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

 

asp.net 中 使用 MongoDB


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

建立一個實體類 用戶表

public partial class User{
    [MongoId]
    public string UID{ get; set; }
    public string NAME{ get; set; }
    public string SEX{ get; set; }
    public int AGE{ get; set; }
    }

說明:這就是一個簡單的類,而且代碼中的[MongoId]也是可以不要的,如果要是寫了他會映射"_id"字段。


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

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

 

private string _connectionString = "Server=127.0.0.1";  //數據庫服務器ip或地址

private string _dbName = "dbmy";



添加數據

public void Insert(User user)
{
    user.UID = Guid.NewGuid().ToString("N");

    // 首先創建一個連接
    using( Mongo mongo = new Mongo(_connectionString) ) {

        // 打開連接
        mongo.Connect();

        // 切換到指定的數據庫
        var db = mongo.GetDatabase(_dbName);

        // 根據類型獲取相應的集合
        var collection = db.GetCollection<User>();

        // 向集合中插入對象
        collection.Insert(customer);
    }
}


 

刪除數據

public void Delete(string UId)
{
    using( Mongo mongo = new Mongo(_connectionString) ) {
        mongo.Connect();
        var db = mongo.GetDatabase(_dbName);
        var collection = db.GetCollection<Customer>();

        // 從集合中刪除指定的對象
        collection.Remove(x => x.UID == UId);
    }
}


 


修改數據

public void Update(User user)
{
    using( Mongo mongo = new Mongo(_connectionString) ) {
        mongo.Connect();
        var db = mongo.GetDatabase(_dbName);
        var collection = db.GetCollection<User>();

        // 更新對象
        collection.Update(user, (x => x.UID == user.UID));
    }
}


 


獲取數據

public User GetById(string UId)
{
    using( Mongo mongo = new Mongo(_connectionString) ) {
        mongo.Connect();
        var db = mongo.GetDatabase(_dbName);
        var collection = db.GetCollection<User>();

        // 查詢單個對象
        return collection.FindOne(x => x.UID == UId);
    }
}



調用


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

test t=new test();
//插入數據 
t.Insert(User);

//更新數據
t.Update(User);

//刪除數據
t.Delete(Uid);


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章