MongoDB是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持 对数据建立索引。
之所以喜欢MongoDB,主要是因为在动态语言中使用它是如此的简单,自然。到目前为止,我已经在两个项目(Encode 和 Sparrw)中使用过它了,虽然对这个选择我非常满意,但是有些问题我还是没有注意到,这些问题让我抓了好几个小时的头皮才解决。如果你有多台机器,然后为数据库多分配几台机器,那么有些问题可以迎刃而解,但是我的项目是运行在单个(虚拟)服务器之上的低流量Web应用程序。
MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB
在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
MongoDB默认的数据目录为:C:\data\db。如果不用默认目录,则需要在在mongod.exe命令后加--dbpath参数。
创建数据目录。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\data\db
创建日志目录及其文件。我创建的是D:\dev\mongodb-win32-x86_64-2.4.5\log及D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt。
1、启动MongoDB
打开cmd窗口(cmd.exe),进入D:\dev\mongodb-win32-x86_64-2.4.5\bin,执行mongod.exe命令,见下图。
mongod.exe --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db!
--logpath 参数是设定日志文件的路径。
--dbpath 参数是设定数据库文件的存放路径。
mongod.exe命令的所有参数选项可通过mongod.exe --help查看。
2、作为服务进行安装
使用管理员权限打开windows的cmd窗口,进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录。
mongod.exe --install --logpath=D:\dev\mongodb-win32-x86_64-2.4.5\log\log.txt --dbpath=D:\dev\mongodb-win32-x86_64-2.4.5\data\db
--install 参数是设定安装为服务器!
设置为服务后,即可在cmd(管理员权限打开的windows cmd窗口)窗口用服务的方式启动或停止MongoDB。
net start mongodb 启动mongodb服务
net stop mongodb 启动mongodb服务
3、进入shell环境界面
进入sheelMongoDB后,在cmd窗口进入D:\dev\mongodb-win32-x86_64-2.4.5\bin目录,输入mongo.exe,则可以进入shell环境界面。
面向集合存储,易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性
支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
文件存储格式为BSON(一种JSON的扩展)
可通过网络访问
MongoDB 2.6 已经在今天发布,当然,关注MongoDB的同志自然知道这个消息。
整个MongoDB2.6,个人觉得认证系统是一个重新设计的系统。当然,MongoDB 2.4.6开始,就已经在尝试新的基于Role的认证方式了,但是真正的成熟还是在2.6.0这个版本。
TextSearch全文检索
这个功能在 2.4.6里面就有的功能,这次的变化是,将这个TextSearch的放入了Aggerate里面了。
换句话说,原来的全文检索的结果是孤立的,现在可以作为聚合检索的一个部分了,文本检索的结果可以作为其他聚合操作的输入数据。
作为MongoDB5年里程碑的这个版本,还有其他很多对以往功能的增强。
作为一个长期观察MongoDB的人来说,我个人认为,现在是大家可以尝试MongoDB的一个时间点了。
2.6.0以前的版本的确有很多诟病,除了前面说过的读写的安全之外,还有很多设计上的问题。
经过2.4的很多演化后,很多东西都定型了:
主从(Master-Slaver)模型 被 Replication模型代替
加入基于Role的认证后,可以自定义角色(当然,系统也有一些内置的角色)
全文检索(很遗憾,不支持中文)的强化 具有特色的 地理聚合(很多处理地理坐标的内置函数)
TLL数据集(数据集里面的记录会慢慢自动删除掉,有点缓存的意思)Capped数据集(固定大小的数据集,在存储和读写上提高效率,牺牲灵活性)
Sharding支持了ShardKey
索引的内容丰富了不少,特别是有了text属性的索引,对于全文检索的帮助很大
MongoDB的2.4已经发布,其中包括新的功能,如文本搜索,基于散列的分片。
主要功能和增强功能:
基于散列分片
Capped 阵列
文本搜索(测试版)
地理空间增强
更快的计数
聚合框架的改进
基于角色的权限
工作集分析器
改进复制
在以往的MongoDB中,官方一直推荐MongoDB应该在一个Trust的环境下运行,对于认证和安全性上的考虑是不充分的。
(MongoDB的安全性和读写的完整性以前一直被人诟病,WriteConcern解决了写数据的安全性,这次的RoleBase的认证机制,在一定程度上提高了MongoDB的安全性)
现在在MongoDB中创建的User,除了有用户名,密码等传统属性之外,还有一个Role的概念。
每个Role的操作权限是不同的,而且,根据细化的配置,可以将每个Role的权限定义的非常详细,
Role可以查询,修改某个数据库,某个数据表,都可以做到小粒度的定义。
每个用户可以同时拥有多个Role,这样的话,管理员可以对于各个用户的权限做到非常精确的控制了。
MongoDB的 具体实现 Role:
每个Role可以有多个Privilege,每个Privilege指定了可以访问的资源(可以指定数据集,数据库,精确到具体的某个数据集)
对于资源的可以执行的操作(Action),例如 数据集的查找 或者 更新。对于各种的操作已经做到非常小的粒度的细化了。
例如 添加用户 和 删除用户 已经是两个操作了(Action),而不是通常理解的,增删改是同样的操作。
(当然,可能也有人认为如此细化对于管理者来说也是一种负担。不过一个Role一旦精心设计之后,就可以分配给不同用户,一劳永逸了)
开发者其他应用
七猫免费阅读小说最新版41.6M234049人在玩七猫免费阅读小说下载安装app,七猫免费阅读小说app不一样的小说阅读神器,这里有着海量丰富小说应用资源,你想看的小说通过强大搜索引擎一键搜索即可,主要的是阅读小说还能够获取红包现金奖励哦。
下载奇热漫画app安卓版25.5M13451人在玩奇热漫画是一款非常不错的漫画阅读软件,具有很多强大的阅读功能,奇热漫画app实时为你更新全网最新最热的动漫资源。平台拥有海量精彩漫画,官方正版漫画
下载奇热小说app24.8M234499人在玩安卓奇热小说app是专为众多爱看小说的人士提供的手机看小说的软件,省流量极速免费看小说,海量热门小说任你看,喜欢小说的小伙伴不要错过,赶快下载奇热小说网手机版客户端体验吧
下载2022快看漫画App最新版69.0M51448人在玩2022快看漫画,相信许多玩微博的小伙伴们都已经知道这款APP了。吵架归吵架,至于这款快看漫画App到底做得怎么样,只有试过才知道!
下载豆瓣阅读客户端app70.2M9579人在玩豆瓣阅读app是一款为豆瓣的用户们量身定做的APP,在豆瓣阅读这里你可以看到更加符合豆瓣用户喜好的各类文字作品,而且目前书籍依然在持续增长中。
下载追书神器官方版70.1M19679人在玩追书神器2022最新版是一款超级强力的小说导读助手,目前几大热门的小说连载网站均有关联,你可以通过它方便地寻找自己喜欢的书籍。
下载腾讯动漫71.9M13609人在玩腾讯动漫寒假档,许多大人们认为动漫就是小孩子看的东西,但是大概从80后开始,动漫就成为了许多人生活中的一部分,如果你喜欢看动漫,可以来腾讯动漫吧,这里有最新动漫更新视频
下载书旗小说免费版本32.7M22553人在玩书旗小说免费版下载安装,书旗小说免费版本是一款以书旗网海量小说为基础的在线/离线阅读器,集合在线阅读、本地阅读、书包下载、自动书签、智能搜索、阅读设置等多项人性化功能。
下载搜狗阅读器app19.5M6809人在玩搜狗阅读是搜狗公司依托于搜狗搜索的丰富资源,为安卓用户打造的移动阅读应用产品。搜狗阅读海量图书即搜即看,新闻大事掌握在手,更有离线缓存、精品推荐、更新提醒等功能,让您随时随地享受阅读的快乐。
下载起点读书app新版本202237.2M11875人在玩起点读书app新版本,又名起点看书,是起点中文网推出的一款阅读软件。它支持本地阅读并提供起点在线书库,具备多种格式的解析阅读功能
下载
支持( 0 ) 盖楼(回复)
支持( 0 ) 盖楼(回复)
支持( 0 ) 盖楼(回复)