MongoDB(from "humongous")是一个用C++编写的,可扩展,高性能,开源,面向文档的数据库。
特点:
[list]
[*]1,面向文档的储存结构:使用Bson(short for Bin?ary JSON)格式存储数据,使用动态的schemas(简单,高效)。Bson[bee ? sahn]:是二进制编码,类似与json格式序列化的文档。和Json一样,Bson支持documents和arrays的嵌套。对于Json的扩展:Bson支持数据类型,如类型:Date,BinData
[*]2,模式自由
[*]3,支持任意属性的索引(包括内部对象)
[*]4,复制和故障恢复
[*]5,水平扩展,不需要功能上的妥协
[*]6,面向文档的查询
[*]7,…
[/list]
快速开始:
[list]
[*]1,下载Windows 32位2进制安装包,[url]http://www.mongodb.org/downloads[/url]
[*]2,解压
[*]3,创建数据文件目录:默认MongoDB把数据存储在\data\db目录,但是它不会自动创建这个目录,需要手动创建数据文件目录并通过参数—dbpath来指定
[*]4,运行和连接到数据库:mongod.exe(数据库服务器),mongo.exe(管理用的命令行shell)。
[*]5,开启服务器:mongod --dbpath=e:\MongoDB\data(详细参数比如开启验证通过 --help来查看)
[*]6,连接服务器:mongo(详细参数通过mongo --help来查看)不带参数默认连接本机的test数据库
[*]7,把MongoDB安装成windows服务:(注意参数前面都是--) mongod --logpath e:\MongoDB\logs\MongoDB.log --logappend --dbpath e:\MongoDB\data --directoryperdb --serviceName MongoDB --rest --install 参数解释--rest:启用简单rest API,开启后通过[url]http://localhost:28017/[/url](Web管理客户端)可以查看到服务器状态等更加多的信息,参考[url]http://www.mongodb.org/display/DOCS/Windows+Service[/url]
[*]8,完成!
[/list]
Windows服务相关命令:
[list]
[*]1,mongod --install
[*]2,mongod --service
[*]3,mongod --remove
[*]4,mongod --reinstall
[*]5,net start MongoDB
[*]6,net stop MongoDB
[/list]
MongoDB与其他数据库的不同点:
[list]
[*]1,不需要先建立database或者collection,在插入数据的时候,MongoDB默认自动帮你创建相应的database或者collection
[*]2,如果查找一个不存在的collection,MongoDB会返回一个空的collection而不是出错提示
[*]3,当使用命令use mydb切换数据库的时候,MongoDB不会马上创建这个数据库,也就是说如果这是你第一次使用这个数据库,那么他不会显示在命令show dbs提供的list中直到第一次插入数据后,数据库才被正式建立
[/list]
使用帮助:
[list]
[*]1,mongod --help,mongo --help,以及连接上数据库后在命令行shell使用help命令,根据help命令查出来的命令如db.help()继续查看db的帮助命令,db.coll.help():coll集合必须存在时,调用db.coll可用的帮助命令!
[*]2,mongo是一个JavaScript的命令行shell,允许你通过命令行来执行数据库交互命令。他是SpiderMonkey([url]https://developer.mozilla.org/En/SpiderMonkey/Introduction_to_the_JavaScript_shell[/url])的一个扩展
[*]3,[url]http://localhost:28017/[/url](Web管理客户端)
[*]4,32位windows下MongoDB数据库的大小限制约为2.5G(限制存在的原因是MongoDB存储引擎使用高性能的内存映射文件),[color=red]也就是说如果数据大小达到2G,那么在XP下面数据库基本上打不开![/color]
[*]5,把数据从mysql导入到MongoDB后,数据文件的大小会增加很多,这是由于MongoDB的Bson存储结构引起的
[*]5,表达式db.model_info.count({TYPE_CD:"532"})中,key可以是TYPE_CD或者"TYPE_CD",但是value:"532"和532是不一样的,区分类型!!
[/list]
安装Windows服务后,启动的时候报错误【错误 193: 0xc1】,Windows事件查看器中提示【Mongo DB 不是有效的 Win32 应用程序。】:
[list]
[*]1,解决:首先确认安装时使用的logpath和dbpath对应的路径是否存在,不存在建立
[*]2,网上说解决错误193: 0xc1的方法是删除service安装的驱动盘根目录下的一个名叫“program”的文件,但是我没有找到!!后来发现mongodb的bin目录下面有个叫mongod的大小为0的文件,删除后重新安装服务,启动成功!
[*]3,总结:出现上面类似的问题解决的基本思路就是确认使用的路径存在,同时,确保要被安装成服务的exe文件相应的目录下没有可以混淆的同文件名的文件存在
[/list]