您的位置:首页 > 数据库 > Mongodb

在C#中使用samus驱动操作MongoDB

lnc2003 2017-12-22 15:26 141 查看
再来介绍一款第三方驱动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();
}


 

 
标签: