浅析MongoDB及其C#驱动的操作步骤

1:简单介绍

MongoDB是一款分布式文档数据库,支持类似关型数据库的主从结构,文档以二进制">Json形式存储,无锁,无事务,有索引。

2:安装步骤

第一步:下载程序集http://www.mongodb.org/downloads

第二部:解压并抽取相关的bin目录到C:\Mongo下(这个任意选择) ,并在该目录下建db文件夹。

第三部:打开CMD窗口,进入到C:\Mongo\bin目录下,运行mongod.exe --dbpath="c:\Mongo\db"

第四步:再开CMD窗口(保持以前的窗口不关闭)运行mongo.exe。在这个窗口你可以执行简单的命令,以下简单列出几个

> j = { name : "mongo" };  {"name" : "mongo"}  > t = { x : 3 };  { "x" : 3  }  > db.things.save(j);  > db.things.save(t);  > db.things.find();  { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }  { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }  >  > for (var i = 1; i <= 20; i++) db.things.save({x : 4, j : i});  > db.things.find();  > var cursor = db.things.find();  > while (cursor.hasNext()) printjson(cursor.next());  > db.things.find().forEach(printjson);  > var cursor = db.things.find();  > printjson(cursor[4]);  > var arr = db.things.find().toArray();  > arr[5];  > db.things.find({name:"mongo"}).forEach(printjson);  > db.things.find({x:4}, {j:true}).forEach(printjson);  > printjson(db.things.findOne({name:"mongo"}));  > db.things.find().limit(3); 

3:C#版的驱动

以下列出几款C#版的驱动,并作简单介绍。

第一款:mongodb-csharp 项目地址:http://github.com/samus/mongodb-csharp

简单介绍:该驱动是比较全的驱动,更新随度非常快,有人已经应用到项目中去,并且表现非常好。目前他们的团队正在致力于连接管理这部分功能的扩展例如:自动重连,连接池等等。

第二款:mongodb-net 项目地址:http://code.google.com/p/mongodb-net/

简单介绍:该开发还在进行中,有些功能还没有实现

第三款:MongoDB.Emitter 项目地址:http://bitbucket.org/gwbasic/mongodb.emitter/

简单介绍:提供了强类型支持

第四款:CSMongo 项目地址:http://somewebguy.wordpress.com/2010/02/21/building-a-mongo-driver-part-1/

简单介绍:实现了部分功能,并且没有可下载的代码。但是你可以看他的博客以了解这种驱动的思想。

第五款:simple-mongodb 项目地址:http://code.google.com/p/simple-mongodb/

简单介绍:没有提供源代码,以JSon为核心。

最后一个是对第一款某些地方的增强,地址http://deserialized.com/convert-csharp-classes-to-and-from-mongodb-documents-automatically-using-net-reflection

第六款:NoRM 项目地址:http://github.com/atheken/NoRM

介绍:增强了第一种,支持强类型。

延伸阅读

MongoDB Logo

Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发,提供了以下功能:

◆面向集合的存储:适合存储对象及JSON形式的数据。

◆动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

◆完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。

◆查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。

◆复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。

◆高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。

◆自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统(丰富的功能)架起一座桥梁,集两者的优势于一身。根据官方网站的描述,Mongo适合用于以下场景:

◆网站数据:Mongo非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

◆缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源过载。

◆大尺寸,低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。

◆高伸缩性的场景:Mongo非常适合由数十或数百台服务器组成的数据库。Mongo的路线图中已经包含对MapReduce引擎的内置支持。

◆用于对象及JSON数据的存储:Mongo的BSON数据格式非常适合文档化格式的存储及查询。

自然,MongoDB的使用也会有一些限制,例如它不适合:

◆高度事务性的系统:例如银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。

◆传统的商业智能应用:针对特定问题的BI数据库会对产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。

◆需要SQL的问题

MongoDB支持OS X、Linux及Windows等操作系统,并提供了Python,PHP,Ruby,Java及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。

时间: 2024-08-17 18:50:44

浅析MongoDB及其C#驱动的操作步骤的相关文章

MongoDB快速入门笔记(八)之MongoDB的java驱动操作代码讲解_mariadb

MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,Mongo有个内置的连接池(池大小默认为10个). 下面代码给大家介绍MongoDB的java驱动操作,具体代码如下所示: import java.util.ArrayList; import java.util.List; import java.util.regex.Pattern; import org.bson.Document; import com.mongodb.MongoClient; impo

双网卡绑定的模式及操作步骤

双网卡绑定的模式     关于mode共有0-6等7种模式,详细请参考官方手册!mode的值表示工作模式,     他共有0,1,2,3,4,5,6这7种模式,常用的为0,1两种. mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作. mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份. mode=2表示balance-x,提供负

Win7 32位系统重装声卡驱动的详细步骤

  1.重装声卡驱动之前先要卸载本机的声卡驱动,鼠标右击电脑桌面上的"计算机"选择"属性",然后点击"高级系统设置"打开系统属性窗口; 2.在弹出的"系统属性"对话框中,切换到"硬件"选项卡,点击"设备管理器"按钮; 3.在弹出设备管理器窗口,找到并展开"声音.视频和游戏控制器",列出声卡相关的驱动程序,蓝色部分为本机声卡的主驱动程序,其它是一些辅助声卡的驱动程序;

Ideapad U310 U410 Raid模式安装操作系统的详细操作步骤

识点分析: 本文主要介绍Raid模式加载驱动及安装操作系统,开启高速缓存加速功能的方法.   提示:本文仅适用于联想Ideapad U310 U410 BIOS中有Raid模式的机型,此文章的内容旨在供您学习和参考,如涉及任何疑问,建议您联系就近的联想服务网点咨询专业人士. 操作步骤: 1.准备   系统安装光盘,IRST驱动程序   在intel网站下载raid驱动程序,根据系统类型选择.本文是使用U盘安装简体中文版64位系统,选择64位其他语言版本.   下载地址>>     将下载的驱动

c++ .ini 读取操作步骤做出操作

问题描述 c++ .ini 读取操作步骤做出操作 c++把一个程序的操作步骤存储成ini 然后读出内容相对那个步骤执行下一步的操作 怎么实现 解决方案 直接用windows api GetPrivateProfileStringhttp://blog.chinaunix.net/uid-24517893-id-2973290.htmlhttp://baike.baidu.com/link?url=R-BGaBGjoYT6cMULhz5ob9fiVtrdxFZGWR8dgCNEzHnk_ynKEC

详解MySQL limit查询优化的实际操作步骤

详解MySQL limit查询优化的实际操作步骤

打包的具体操作步骤

打包 可参考:     打包的具体操作步骤(VS.net2003+win2K):         1)新建"安装和部署项目"-->"安装向导"         2)选择菜单中   项目-->添加-->文件(这里选"创建用于windows应用程序.exe")-->打开         3)一般会自动将依赖项添加到"检测到的依赖项",如果没有,那么我们要手动将其加入4)     Crystal_Manage

WPS幻灯片实现循环播放的操作步骤

  WPS幻灯片实现循环播放的操作步骤 1.在最后一页幻灯片中,点击"插入"--"形状",便可随意插入需要的图形,本文以插入矩形为例. 2.双击已插入的图形,弹出一个"设置对象格式"对话框,,将"填充颜色"改为"未填充颜色",将"线条颜色"改为"无线条颜色",这时矩形将变为透明.我们可以点击"开始"中的"选择",在右边出现的&q

WPS演示制作模拟抽奖效果的操作步骤

  WPS演示制作模拟抽奖效果的操作步骤 一.插入要出示的单词 要让单词动起来,首先要在WPP插入一个文本框,在里面输入要出示的单词,并设置好字体和大小,把文本框放置在页面中间. 二.设置动画效果 1.单击动画选项卡,点击自定义动画,调出任务窗格.首先选中文本框,然后依次点击添加效果,动作路劲,向上,默认的效果就添加好了. 2.默认添加的效果,无法满足我们的需要,下面对动画效果进行一番设置.选中动画路劲的虚线,把红色和绿色的三角形,调整到文本框的顶部和底部,在调整时为了保证虚线垂直,可以按住Sh