什么是MongoDB的? MongoDB是由10gen公司主办的面向数据库的文件。 它是用来尤其是在四方,在SourceForge和bit.ly. 在BSON格式蒙戈存储文档(二进制JSON支持更多一点的值类型),并提供了一个shell JavaScript来访问数据并进行管理操作。 许多司机都实现包括
什么是MongoDB的?
MongoDB是由10gen公司主办的面向数据库的文件。它是用来尤其是在四方,在SourceForge和bit.ly.
在BSON格式蒙戈存储文档(二进制JSON支持更多一点的值类型),并提供了一个shell JavaScript来访问数据并进行管理操作。许多司机都实现包括Java,.NET,PHP,Java脚本。的基本概念面向文档意味着存储对象在一个文件BSON(不仅是一个键样式映射/值)容易地被映射到我们在我们的程序操纵的对象的形式表示。你可以把它比作一个存储组对象的XML表示的。
无模式:比较的MongoDB NoSQL的和传统的关系型数据库
当开发一个数据访问层,我们经常要么使用ORM,或使用将开发自己一张地图,但都将这样做是处理和相关对象映射同样的工作。
更像传统的关系型数据库不允许复杂数据的存储(实体表,嵌套,集合),我们必须执行各种SQL查询来获得我们的数据或更新。
鉴于这两点,数据层的发展进入了很多工作。这些天我们正在失去实现技术和非功能性的答案,我们可能会影响到企业的发展和满足我们的客户优势。
对于此一个解决方案,存储.NET对象,因为它们并要求我们的持久性引擎给我们管理这一工作。一个梦想的MongoDB和NoSQL数据库允许持有。这就是所谓的无模式。
什么与MongoDB的分片?
MongoDB的自1.2版采用了分片管理。这种管理的实施,可实现更高的可扩展性。我们的数据是一致的一切,因为它总是访问所有。分片的概念不是在主/主多个数据库,而是一个数据库,在各个论坛分布式自己的数据。我们见面,并有一个实例,并且其他的另一个一些数据。这一方面是不是在这篇文章中详细介绍。
什么是GridFS的?
MongoDB的他踏上一个完整的文件系统。该系统是GridFS的。MongoDB是限于每4MB的文件,但我们很快就需要存储重要文件。GridFS的允许它。因此,我们存储任何文件大于4 MB GridFS的文件系统。GridFS的并允许其文件分片。因此,我们需要机器之间的rsync。GridFS的做的工作为他自己。人们可以很容易地在GridFS的HBase的带来。
先进的查询系统
在我看来,MongoDB中的最后的真正兴趣,尤其是相比了Riak和CouchDB是它的查询管理。如何能非常精细的感谢查询到大量的关键字。我们可以富比在SQL查询,但都在一个面向数据库的文件。
例如,一个可以搜索有一个数组的多个元素的所有文件
db.things.find({A:{$所有:[2,3 ]}});
而在SQL会作出更
SELECT * FROM东西放在一个LIKE'%2%'和具有LIKE'%3%'
但它是不完整的,因为它最终会为一个“要”遏制领域的合作数组[32] SQL,但将在MongoDB中查询的情况下无法正常工作。
通过给我们也可以做研究
的Javascript db.myCollection.find({$其中“this.a> 3”});
它是高度模块化和关键字的数量正在增加。
在.NET 4.5入门
有许多实用工具库MongoDB的沟通,我劝你留下来,并使用相同的MongoDB项目提供的标准驱动程序。
将要实施的架构层的MongoDB

设置图层
我们将使用其他DAL经典机制。即在web.config ConnectionString,以设置服务器
隐藏 复制代码
< connectionStrings >
< add name="MongoDB" connectionString="mongodb: // localhost" > < / add >
< / connectionStrings >
数据库应用程序设置的名称
隐藏 复制代码
< appSettings >
...
< add key="MongoDBName" value="MyTvProgram" / >
< / appSettings >
你的机器上安装的MongoDB(单实例)
-
开始安装之前,您必须下载最新版本的MongoDB。要做到这一点,请访问以下地址:http://www.mongodb.org/downloads,并选择您想要安装的类型。
-
要开始安装,只需双击MSI软件包,并按照屏幕上的说明
-
创建一个文件夹来存放数据库C:\ DATA \ db和一个日志文件C:\ DATA \日志
-
创建一个配置文件,允许您配置的MongoDB:mongod.conf
-
您可以开始使用位于bin文件夹中的mongod mongod.exe程序:配置的mongod mongod.conf
-
您还可以配置的mongod作为服务的使用方法:mongod的mongod.conf配置--install
-
配置mongod的自动或手动启动:sc配置的mongod开始=自动
主机与复制MongoDB数据库在Windows Azure上
Windows Azure的原生支持的MongoDB不这样做,你有例子mongolab SaaS服务,但它是有限的,因此可以支持一个免费的MongoDB集群,必须创建两个基本的VM
-
创建一个虚拟机名称<yourcompany> mgdb1
-
创建另一个虚拟机名称<yourcompany> mgdb2
-
分配一个驱动器每个VM 30 GB和字母f关联
重复上每个虚拟机进行以下操作
-
登录到您的第一台机器
-
格式化你的磁盘数据
-
禁用IE浏览器的控制。
-
添加http://*.mongodb.org到可信站点列表
-
下载64位版
-
安装MSI
-
MongoDB的默认安装在C:\ Program Files文件\ MongoDB的\服务器\ 3.2 \ bin中,创建一个Path环境变量指向的文件
-
下载并安装OpenSSL的,这将允许您为复制创建一个证书:https://slproweb.com/download/Win64OpenSSL_Light-1_0_2f.exe
-
在你的磁盘驱动器F创建2个文件夹:数据和日志
-
创建1 conf文件夹
-
添加mongod.conf文件
-
添加必要的参数:
-
端口:在其默认的聆听27017的端口号
-
DBPATH:数据路径
-
复制集¥0 =:表示一个复制将使用
-
日志路径:表示的路径日志文件
-
logaappend表示旋转
-
如果该节点是不是第一,创建文件夹并复制MongoDB的密钥文件,文件中的第一个节点的密钥。
-
安装服务的MongoDB的mongod --config F:\的conf \ mongod.conf --install
-
启动网mongdb服务启动的MongoDB
-
如果这是第一个节点,登录到该服务器和启动蒙戈rs.initiate复制()
-
以连接到服务打开一个端口在防火墙的MongoDB
-
配置Windows Azure中的端点上的TCP端口27017的虚拟机
-
如果这是第一个节点,在主创建管理用户
隐藏 复制代码
1. use admin
2. db.createUser ({
3. user: "siteUserAdmin"
4. pwd: "< password >"
5. Actual: [{role: "userAdminAnyDatabase" db "admin"}]
6.});
7. db.createUser ({
8. user: "siteRootAdmin"
9. pwd: "< password >"
10. Actual: [{role: "root", db: "admin"}]
11.});
-
停止的MongoDB实例
-
创建的第一个节点仅一个密钥文件被复制的每个成员可使用
-
我推荐使用OpenSSL的,但也可以使用其他机制。
-
复制每个成员上生成的密钥文件
-
编辑配置文件来指定要使用的密钥文件。密钥文件
-
重复第一台服务器上运行
一个节点添加到复制
-
从该新节点的主机,
-
连接至第一节点蒙戈<premiernoeud> -u siteRootAdmin -p <密码> --authenticationDatabase管理员
-
使用rs.add法(“nomdelamachine:27017”)来添加节点
检查复制的配置。
-
从任何主机
-
连接至第一节点蒙戈<premiernoeud> -u siteRootAdmin -p <密码> --authenticationDatabase管理员
-
使用rs.conf()方法
在Visual Studio 2015年接入层数据的发展
-
我们前面在第1节和2中创建重复库,
-
在STPVideoPlayer.DataLayer项目中,添加以下类
-
EpisodeModel:描述一个小插曲
-
LocalVideoModel:形容本地视频文件
-
YoutubeModel:为了描述存放在YouTube视频或播放列表
-
TimeLineModel:形容规划
-
安装驱动程序的MongoDB为的NuGet STPVideoPlayer.Data.MongoProvider项目

-
创建一个类TvPlayerRepository
-
通过实现该接口实现的代码给我们提供ITvPlayerRepository