在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();
}

猜你喜欢

转载自blog.csdn.net/lnc2003/article/details/78873753