首先:驱动
如果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);