安装完MongoDBhttp://localhost:28017/监测是否成功!

vs 2008 C# MongoDB 源代码下载地址:http://download.csdn.net/source/3208407 查询增删改操作!

我们要开始最简单的MongoDB连接,访问数据之旅了。在这之前,您已经安装MongoDB了吧!也许、大概、应该是装了。真的还没装好?那么:猛击这里[MongoDB安装]

开始:

先下载个C#的驱动。MongoDB提供各种主流与非主流预言的开发驱动。

C# Driver 下载地址:猛击这里

CSharp Driver Tutorial:猛击这里

下载文件安装或者解压缩包

如果您是安装,请到安装位置寻找,如果是ZIP压缩包,解压缩包得到如下两个文件:

  1. MongoDB.Bson.dll              :序列化、Json相关
  2. MongoDB.Driver.dll             :我们的驱动

没了,只有这两个文件是我们的最爱。

继续:

新建一个C#的项目,不管你是vs2008,还是vs2010,也许您手中有vs2012?也发给我一份吧。感谢共享:)

添加引用,将上面两个DLL引入到项目里面

您启动Mongod.exe了吗?不记得它是什么了?猛击这里。启动服务。

代码里面添加命名空间:

using MongoDB.Bson;
using MongoDB.Driver;

跟着[CSharp Driver Tutorial:猛击这里]继续做。如果您没有打开[CSharp Driver Tutorial]就不要开了,看完全文再看,以免分散精力。

// MongoDB连接串,以[mongodb://]开头。这里,我们连接的是本机的服务
string connectionString = "mongodb://localhost";
// 连接到一个MongoServer上
MongoServer server = MongoServer.Create(connectionString);
  1. MongoDb的连接串

    • 在连接串中,我们可以指定其他机器上的服务和连接端口格式如下:
    • mongodb://[username:password@]hostname[:port][/[database][?options]]
    • 简单示例:mongodb://server1,server2:27017,server2:27018
    • 更进一步详细的信息请查看[CSharp Driver Tutorial:猛击这里]
  2. MongoServer
    • 有几种不同的重载了的创建方式:
    • MongoServer Create()   如果只是连接本机,并且本机只启动了一个服务,直接调用这个方法,完全不需要连接串
    • MongoServer Create(MongoConnectionStringBuilder builder)
    • MongoServer Create(MongoUrl url)
    • MongoServer Create(string connectionString)
    • MongoServer Create(Uri uri)
    • 更进一步详细的信息请查看[CSharp Driver Tutorial:猛击这里]

继续:

再增加几行代码:

// MongoDB连接串,以[mongodb://]开头。这里,我们连接的是本机的服务
string connectionString = "mongodb://localhost";
// 连接到一个MongoServer上
MongoServer server = MongoServer.Create(connectionString);            
// -------------------------------------------------------------------------
// 打开数据库testdb
MongoDatabase db = server.GetDatabase("testdb");
// 获取集合employees
MongoCollection collection = db.GetCollection("employees");
  1. server.GetDatabase("testdb")

    • 打开数据库:testdb
    • 我没有testdb库啊??不要担心,不要疑惑,不要在这个问题上浪费时间,如果没有这个库存在,MongoDB会自动替你创建它的
  2. db.GetCollection("employees")
    • 获取集合:employees
    • 好吧有了前一个教训,管他呢,爱存在不存在,MongoDB的开发人员都会替我们创建吧?

继续:

// MongoDB连接串,以[mongodb://]开头。这里,我们连接的是本机的服务
string connectionString = "mongodb://localhost";
// 连接到一个MongoServer上
MongoServer server = MongoServer.Create(connectionString);            
// -------------------------------------------------------------------------
// 打开数据库testdb
MongoDatabase db = server.GetDatabase("testdb");
// 获取集合employees
MongoCollection collection = db.GetCollection("employees");
// -------------------------------------------------------------------------            
// 创建一个employee
BsonDocument employee = new BsonDocument 
{
  { "name", "Ernest Hemingway" },
  { "title", "For Whom the Bell Tolls" }
};
// 把它写到上面那个集合里面去
collection.Insert(employee);

如果您的程序没有抛出任何异常,那么数据已经进去了。不知到BsonDocument是个啥东西?

看个简单的例子吧:

BsonDocument document = new BsonDocument {
        { "name", name },
        { "city", city }, // not added if city is null
        { "dob", dob, dobAvailable } // not added if dobAvailable is false
    };
它以键值对的方式、JSON的格式,保存数据。MongoDB通过BsonDocument套BsonDocument的方式,使您可以存储复杂格式的数据。

  • 有一些重要的概念,看完文章以后,你一定要去过一遍:BsonType、BsonValue、BsonElement、BsonDocument、MongoServer、MongoDatabase、MongoCollection
  • 在这里: [CSharp Driver Tutorial:猛击这里]

继续:

最后几行小代码:

// -------------------------------------------------------------------------
// 查询上面那个刚刚插进去的数据,就这格式了,看看QueryDocument的文档吧
var query = new QueryDocument("name", "Ernest Hemingway");            
// 遍历结果
foreach (BsonDocument emp in collection.Find(query))
{
    // BsonValue有两种取值方式,下面两个都用了一个是AsXXX,一个是ToXXX
    Console.WriteLine("name:{0}\ttitle:{1}", emp["name"].AsString, emp["title"].ToString());
}
  1. QueryDocument

    • MongoCollection<BsonDocument> books;
          var query = Query.An

转载于:https://www.cnblogs.com/zqn518/p/3305395.html

MongoDB数据访问[C#]附源码下载(查询增删改) 转载相关推荐

  1. cesium 3dtiles 加载本地数据_cesium结合geoserver实现地图空间查询(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  2. SpringCloud-服务注册与实现-Eureka创建服务提供者(附源码下载)

    场景 SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  3. Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)

    场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  4. php jquery ajax登录,jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)

    弹出层主要用于展示丰富的页面信息,还有一个更好的应用是弹出表单层丰富交互应用.常见的应用有弹出登录表单层,用户提交登录信息,后台验证登录成功后,弹出层消失,主页面局部刷新用户信息.本文我们将给大家介绍 ...

  5. arcgis开发 多版本之间如何兼容_arcgis api 4.x for js 结合 react 入门开发系列初探篇(附源码下载)...

    你还在使用 JQuery 或者 Dojo 框架开发 arcgis api 4.x for js 吗?想试试模块化开发吗?随着前端技术的发展,arcgis api 4.x for js 也有了结合 re ...

  6. geoserver三维_cesium结合geoserver实现地图空间查询(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  7. 我搭建了一个随机「毒鸡汤」语录网站附源码下载

    小伙伴们注意:公众号的推送机制不再按照时间前后推送了,微信公众号信息流乱序.君哥建议大家把科技毒瘤君公众号置顶(设为星标⭐),以便第一时间看到推送,非常感谢~,方法如下图: 1 演示效果 ★ 遇到喜欢 ...

  8. php图片动画源码,JavaScript_jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载),ImageDrawer.js是一款可以实现动 - phpStudy...

    jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载) ImageDrawer.js是一款可以实现动态绘制图片动画的jQuery插件.通过ImageDrawer.js插件,你可 ...

  9. android flv 编码器,Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载)...

    Android 音视频深入 十七 FFmpeg 获取 RTMP 流保存为 flv (附源码下载) 项目地址 https://github.com/979451341/RtmpSave 这个项目主要代码 ...

最新文章

  1. 蓝牙mesh — 解密蓝牙mesh系列文章汇总
  2. 【RedHat、CentOS Cacti安装配置】
  3. thinkphp如何跨模块调用方法呢?
  4. Mvc5 控制器,视图简单说明
  5. 【GCC】Bug 36793 - x86-64 does not get __sync_synchronize right
  6. 关于 django 的时区设置与MySQL 时间相差8小时
  7. 实战matlab之文件与数据接口技术,实战MATLAB之文件与数据接口技术
  8. Python --链接MYSQL数据库与简单操作 含SSH链接
  9. vim 配置文件留存
  10. docker elasticsearch安装
  11. Atitit  如何让精灵控件运动
  12. Windows 常用软件清单
  13. 【预测模型】基于Elman神经网络预测电力负荷matlab代码
  14. 如何在微软的下载商店找到下载的图片?
  15. 针对在校大学生的C语言入门学习——高级语法
  16. 两因素身份验证增强您的Spring Security
  17. 手把手教你入门深度强化学习(附链接代码)
  18. 2019加密市场金融借贷领域研究报告(英文版) | TokenInsight
  19. Java Cache 入门
  20. 夺命雷公狗---DEDECMS----32dedecms电影网评价星星功能的实现

热门文章

  1. swift04基础训练
  2. 3gpp协议_NSA组网下SN add/release/delete流程协议学习
  3. 安装Vue-CIL步骤
  4. Cesium|xt3d雷达遮罩扫描
  5. 当科技与古典音乐碰撞“新火花”,看库客音乐智能教育打开增长的潘多拉
  6. 90后:与互联网时代一同成长
  7. 39.在Java中定义一个不做事且没有参数的构造方法的作用?
  8. 学习大数据应该掌握哪些技能
  9. Hive 超赞的解析 Json 数组的函数
  10. Win11默认浏览器怎么设置?Win11设置默认浏览器的方法