MongoDB数据访问[C#]附源码下载(查询增删改) 转载
安装完MongoDBhttp://localhost:28017/监测是否成功!
vs 2008 C# MongoDB 源代码下载地址:http://download.csdn.net/source/3208407 查询增删改操作!
我们要开始最简单的MongoDB连接,访问数据之旅了。在这之前,您已经安装MongoDB了吧!也许、大概、应该是装了。真的还没装好?那么:猛击这里[MongoDB安装]
开始:
先下载个C#的驱动。MongoDB提供各种主流与非主流预言的开发驱动。
C# Driver 下载地址:猛击这里
CSharp Driver Tutorial:猛击这里
下载文件安装或者解压缩包
如果您是安装,请到安装位置寻找,如果是ZIP压缩包,解压缩包得到如下两个文件:
- MongoDB.Bson.dll :序列化、Json相关
- MongoDB.Driver.dll :我们的驱动
没了,只有这两个文件是我们的最爱。
继续:
新建一个C#的项目,不管你是vs2008,还是vs2010,也许您手中有vs2012?也发给我一份吧。感谢共享:)
添加引用,将上面两个DLL引入到项目里面

您启动Mongod.exe了吗?不记得它是什么了?猛击这里。启动服务。
代码里面添加命名空间:
using MongoDB.Bson;
using MongoDB.Driver;
跟着[CSharp Driver Tutorial:猛击这里]继续做。如果您没有打开[CSharp Driver Tutorial]就不要开了,看完全文再看,以免分散精力。
string connectionString = "mongodb://localhost";
// 连接到一个MongoServer上
MongoServer server = MongoServer.Create(connectionString);
- MongoDb的连接串
- 在连接串中,我们可以指定其他机器上的服务和连接端口格式如下:
- mongodb://[username:password@]hostname[:port][/[database][?options]]
- 简单示例:mongodb://server1,server2:27017,server2:27018
- 更进一步详细的信息请查看[CSharp Driver Tutorial:猛击这里]
- MongoServer
- 有几种不同的重载了的创建方式:
- MongoServer Create() 如果只是连接本机,并且本机只启动了一个服务,直接调用这个方法,完全不需要连接串
- MongoServer Create(MongoConnectionStringBuilder builder)
- MongoServer Create(MongoUrl url)
- MongoServer Create(string connectionString)
- MongoServer Create(Uri uri)
- 更进一步详细的信息请查看[CSharp Driver Tutorial:猛击这里]
继续:
再增加几行代码:
string connectionString = "mongodb://localhost";
// 连接到一个MongoServer上
MongoServer server = MongoServer.Create(connectionString);
// -------------------------------------------------------------------------
// 打开数据库testdb
MongoDatabase db = server.GetDatabase("testdb");
// 获取集合employees
MongoCollection collection = db.GetCollection("employees");
- server.GetDatabase("testdb")
- 打开数据库:testdb
- 我没有testdb库啊??不要担心,不要疑惑,不要在这个问题上浪费时间,如果没有这个库存在,MongoDB会自动替你创建它的
- db.GetCollection("employees")
- 获取集合:employees
- 好吧有了前一个教训,管他呢,爱存在不存在,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());
}
- QueryDocument
- MongoCollection<BsonDocument> books;
var query = Query.An
- MongoCollection<BsonDocument> books;
MongoDB数据访问[C#]附源码下载(查询增删改) 转载的更多相关文章
- openlayers4 入门开发系列之地图导航控件篇(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- Winforn中DevExpress的TreeList中显示某路径下的所有目录和文件(附源码下载)
场景 Winform中DevExpress的TreeList的入门使用教程(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- openlayers4 入门开发系列结合 echarts4 实现散点图(附源码下载)
前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...
- SpringCloud-服务注册与实现-Eureka创建服务提供者(附源码下载)
场景 SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...
- cesium 实现风场图效果(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- Web 开发中很实用的10个效果【附源码下载】
在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...
- 精选12个时尚的 CSS3 效果【附源码下载】
这里是精选的12个很炫的 CSS3 效果.CSS3 是对 CSS 规范的一个很大的改善和增强,它使得 Web 开发人员可以很容易的在网站中加入时尚的效果.以前很多需要编写复杂的 JavaScript ...
- 让你心动的 HTML5 & CSS3 效果【附源码下载】
这里集合的这组 HTML5 & CSS3 效果,有的是网站开发中常用的.实用的功能,有的是先进的 Web 技术的应用演示.不管哪一种,这些案例中的技术都值得我们去探究和学习. 超炫的 HTML ...
- 8个前沿的 HTML5 & CSS3 效果【附源码下载】
作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身 ...
随机推荐
- JDK环境变量安装正确还报错的情况解决方案
环境变量 JAVA_HOME , PATH 都已配置完毕,并且 java -version也显示正确如下 E:\apache-tomcat-8.0.30-windows-x64\apache-tomc ...
- 删除内容并不能删除field structure -- features_revert
把内容删了但field structure还在, 在manage_field界面,field还在.http://drupal.stackexchange.com/questions/21501/rev ...
- 获取AVCaptureSession samplebuffer 一像素的 rgb值
获取AVCaptureSession samplebuffer 一像素的 rgb值 typedef unsigned char byte; typedef struct RGBPixel{ byte ...
- 图片流量节省大杀器:基于CDN的sharpP自适应图片技术实践
版权声明:本文由陈忱原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/156 来源:腾云阁 https://www.qclou ...
- mysql spider之拆库无忧
数据库的三板斧 先上MySQL,之后再上读写分离,然后呢? 后面典型的做法是垂直拆库和水平分表. 一旦数据库拆了之后,代价就来了. 1.事务不能跨库了(少,但是很重要,可以适当改写) 2.相关的关联查 ...
- linux笔记:文件编辑器vim
vim的3种工作模式: 在命令模式下进入插入模式: 定位命令: 删除命令: 复制和剪切命令: 替换和取消命令: 查找和替换命令: 保存和退出命令: 导入命令执行结果和定义快捷键:
- Link Collecting
----------------------------------\ ACM入门总结之常见输入输出格式暨hdu1089~1096 题解,谨献给对acm感兴趣的新人 - 博客频道 - CSDN.NET ...
- computer English
算法常用术语中英对照Data Structures 基本数据结构Dictionaries 字典PriorityQueues 堆Graph Data Structures 图Set Data Struc ...
- 阿里Linux Shell脚本面试25个经典问答
转载: 阿里Linux Shell脚本面试25个经典问答 Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命 ...
- 【CITE】C#目录、文件、文件夹操作
1. 在一个目录下创建一个文件夹 if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); ...