首先:驱动

如果asp.net 想使用MongoDB,.net没有自带的链接类。得用第三方或官方的链接类。

当然有很多种驱动,我就不一一介绍了。

今天我就介绍一个我比较常用的驱动-----MongoDB。

接下来,我们还要去下载MongoDB的C#驱动,它可以让我们在C#中使用MongoDB 。下载地址:https://github.com/samus/mongodb-csharp

我们在C#访问MongoDB所需的驱动就是项目MongoDB了。编译这个项目就能得到了,文件名:MongoDB.dll

asp.net 中 使用 MongoDB

首先先启动MongoDB,我在之前的文章里已经介绍过在这里就不做介绍了。

建立一个实体类 用户表

  1. public partial class User{
  2. [MongoId]
  3. public string UID{ get; set; }
  4. public string NAME{ get; set; }
  5. public string SEX{ get; set; }
  6. public int AGE{ get; set; }
  7. }

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

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

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

  1. private string _connectionString = "Server=127.0.0.1";  //数据库服务器ip或地址
  2. private string _dbName = "dbmy";

添加数据

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

删除数据

  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. collection.Remove(x => x.UID == UId);
  9. }
  10. }

修改数据

  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. collection.Update(user, (x => x.UID == user.UID));
  9. }
  10. }

获取数据

  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. return collection.FindOne(x => x.UID == UId);
  9. }
  10. }

调用

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

    1. test t=new test();
    2. //插入数据
    3. t.Insert(User);
    4. //更新数据

asp.net 使用 MongoDB 初体验的更多相关文章

  1. node+express+mongodb初体验

    从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp.grunt.yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续. 今天花了一天的时间,去了解整理整 ...

  2. elmah - Error Logging Modules and Handlers for ASP.NET - 1 : 初体验

    elmah(英文):https://code.google.com/p/elmah/   写作思路:先看结果,然后再说原理   elmah文章基本内容如下   1.安装 2.基本使用 3.详细配置讲解 ...

  3. mongodb初体验

    最近关注大数据,自然会关注到nosql数据库,其中当然是mongodb. nosql数据库大多是k,v数据库,这也不是新鲜的名词了,berkerly DB已经存在很多年了,现在属于oracle. 具体 ...

  4. asp net core 跨平台初体验

    标: 在 ubuntu 16.04 上部署一个 asp.net core 站点,打开网站后显示一段文字.   安装 net core 运行环境:ubuntu 16.04 LTS 1.添加 apt 源 ...

  5. asp.net mvc 5 初体验

    参考:http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started 1. 新建 ASP.Net Web 应用程序,跟着向导一路 ...

  6. 分布式NoSQL数据库MongoDB初体验-v5.0.5

    概述 定义 MongoDB官网 https://www.mongodb.com/ 社区版最新版本5.0,其中5.2版本很快也要面世了 MongoDB GitHub源码 https://github.c ...

  7. ASP.NET2.0组件控件开发视频 初体验

    原文:ASP.NET2.0组件控件开发视频 初体验 ASP.NET2.0组件控件开发视频 初体验 录了视频,质量不是很好,大家体验下.我会重新录制的 如果不清楚,可以看看http://v.youku. ...

  8. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  9. SignalR初体验

    简介 ASP .NET SignalR[1]  是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以 ...

随机推荐

  1. 九度OJ 1351 数组中只出现一次的数字

    题目地址:http://ac.jobdu.com/problem.php?pid=1351 题目描述: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 输 ...

  2. 使用json方式实现省市两级下拉级联菜单[原创]

    本文为博主原创,转载请注明. 首先看一下实现后的效果图: 当然,要完成这个实验,mysql必须与数据库连接,这里选用navicat for mysql这款软件,它与mysql的契合度是很高的,配置环境 ...

  3. IOPS和Throughput

    IOPS和Throughput吞吐量两个参数是衡量存储性能的主要指标.IOPS表示存储每秒传输IO的数量,Throughput吞吐量则表示每秒数据的传输总量.两者在不同的情况下都能表示存储的性能状况, ...

  4. hdu 5014 Number Sequence

    为了a异或b的和最大,只需另b在不大于n的情况下按位取反即可. 这里有两个输出小技巧可以参考: 1.在用printf输出__int64时,在windows下使用格式"%I64d", ...

  5. 巧妙使用checkbox制作纯css动态导航栏

    前提:很多时候.我们的网页都需要一个垂直的导航栏.可以分类.有分类.自然就有展开.关闭的功能.你还在使用jquery操作dom来制作吗?那你就out了! 方案:使用checkbox 的 checked ...

  6. 虚拟内存设备驱动memdev及实例代码

    驱动: #include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> #incl ...

  7. cx_Oracle ORA-24315: 非法的属性类型的解决办法

    网上查找原因说: 出现该错误的原因是因为版本不兼容. 检查了一下python版本和oracle 的版本,我的oracle client是10g的,python的版本是2.7, 但我安装的cx_orac ...

  8. JAVA技术体系发展路线

    JAVA技术体系 1.1 Java程序员 ·高级特性 反射.泛型.注释符.自动装箱和拆箱.枚举类.可变参数.可变返回类型.增强循环.静态导入 ·核心编程 IO.多线程.实体类.集合类.正则表达式.XM ...

  9. hdu 2665 Kth number(划分树模板)

    http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ]  改变一下输入就可以过 http://poj.org/problem? ...

  10. 标准初始化css样式表

    body { font-size:12px; line-height:1.3; font-family:'微软雅黑', Tahoma,Helvetica,Arial,'宋体', sans-serif; ...