MongoDB是一个介于关系数据库和非关系数据库之间的产品,MongoDB的数据结构非常松散,他的数据格式类似json的bjson格式,因此可以存储比较复杂的数据类型。 主要功能是解决website的操作性数据存储,session对象的存储,数据缓存,高效率的实时计数(比如统计pv,uv)等 跟mysqld一样,一个mongod服务可以有建立多个数据库,每个数据库可以有多张表,这里的表名叫collection,每个collection 可以存放多个文档(document),每个文档都以BSON(binary json)的形式存放于硬盘中。跟关系型数据库不一样的地方是,它是的以单文档为单位存储的,你可以任意给一个或一批文档新增或删除字段,而不会对其它文档造成影响,这就是所谓的schema-free,这也是文档型数据库最主要的优点。跟一般的key-value数据库不一样的是,它的value中存储了结构信息,所以你又可以像关系型数据库那样对某些域进行读写、统计等操作。可以说是兼备了key-value数据库的方便高效与关系型数据库的强大功能。 window下配置运行mongodb: mongodb压缩包解压缩到目标目录,比如D:\mongodb,在d:\mongodb目录下创建db文件夹 打开cmd窗口,输入: d:\mongodb\bin>mongod.exe –dbpath d:\mongodb\db 此时mongod进程运行起来, 再打开一个cmd窗口,输入: d:\mongodb\bin\mongo.exe 进入mongodb命令模式 常用命令: show dbs 查看有哪些数据库,默认会有admin,local两个数据库 db.serverStatus() 查询服务器状态 use testdb 打开数据库,没有的话立即建一个 db.testc.save({a:10}) 向 collection testc 中保存一条信息,没有collection的话立即建一个 db.testc.find() 检索所有记录 show collections 显示所有collection名字 Mongodb不支持内建的事务(没有内建事务不意味着完全不能有事务的功能),对于某些应用也就不适合,例如银行或会计系统。不过对于大部分的互联网应用来说并不存在这个问题。 适用场景见官方说明 http://www.mongodb.org/display/DOCS/Use+Cases MongoDB support map/reduce operations MongoDB中对象的最大尺寸被限制为4MB? 参考: http://www.fushanlang.com/blog/install-windows-mongodb-302/ http://www.javaeye.com/topic/748322 http://www.jzxue.com/shujuku/shujukuzonghe/201005/19-3807.html http://database.51cto.com/art/201005/198041.htm mongodb小结 http://www.wentrue.net/blog/?p=772