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,我在之前的文章里已经介绍过在这里就不做介绍了。

建立一个实体类 用户表

[csharp]  view plain  copy
  1. public partial class User{  
  2.     [MongoId]  
  3.     public string UID{ getset; }  
  4.     public string NAME{ getset; }  
  5.     public string SEX{ getset; }  
  6.     public int AGE{ getset; }  
  7.     }  

说明:这就是一个简单的类,而且代码中的[MongoId]也是可以不要的,如果要是写了他会映射"_id"字段。


MongoDB数据库首先先建一个数据库叫“dbmy”,建一个集合(表)“User”,在建立文档(数据)。

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

 

[csharp]  view plain  copy
  1. private string _connectionString = "Server=127.0.0.1";  //数据库服务器ip或地址  
  2.   
  3. private string _dbName = "dbmy";  



添加数据

[csharp]  view plain  copy
  1. public void Insert(User user)  
  2. {  
  3.     user.UID = Guid.NewGuid().ToString("N");  
  4.   
  5.     // 首先创建一个连接  
  6.     using( Mongo mongo = new Mongo(_connectionString) ) {  
  7.   
  8.         // 打开连接  
  9.         mongo.Connect();  
  10.   
  11.         // 切换到指定的数据库  
  12.         var db = mongo.GetDatabase(_dbName);  
  13.   
  14.         // 根据类型获取相应的集合  
  15.         var collection = db.GetCollection<User>();  
  16.   
  17.         // 向集合中插入对象  
  18.         collection.Insert(customer);  
  19.     }  
  20. }  


 

删除数据

[csharp]  view plain  copy
  1. public void 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.         // 从集合中删除指定的对象  
  9.         collection.Remove(x => x.UID == UId);  
  10.     }  
  11. }  


 


修改数据

[csharp]  view plain  copy
  1. public void 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.         // 更新对象  
  9.         collection.Update(user, (x => x.UID == user.UID));  
  10.     }  
  11. }  


 


获取数据

[csharp]  view plain  copy
  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.         // 查询单个对象  
  9.         return collection.FindOne(x => x.UID == UId);  
  10.     }  
  11. }  



调用


假如把操作方法都封装在一个叫test.cs的类。

[csharp]  view plain  copy
  1. test t=new test();  
  2. //插入数据   
  3. t.Insert(User);  
  4.   
  5. //更新数据  
  6. t.Update(User);  
  7.   
  8. //删除数据  
  9. t.Delete(Uid);  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值