Mongo是一个高性能,开源,模式自由(schema-free)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值(key-value)存储方式。Mongo使用C++开发,具有以下特性: 

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

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

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

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

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

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

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



模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 

存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。 

MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。 

MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。 


Linux代码 


1. MongoDB 在linux下安装(Ubuntu 9.10)  
2.   
3. $wget http://downloads.mongodb.org/linux/mongodb-linux-i686-latest.tgz  
4.   
5. $tar zxvf  mongodb-linux-i686-latest.tgz  
6.   
7. $cd mongodb-linux-i686-latest


Java代码 





4 启动服务


Linux代码 




1. $bin/mongod run &



5 使用自带客户端连接 


Linux代码 


1. $ /bin/mongo





MongoDB php API在Ubuntu 安装如下(Ubuntu 9.10):


Linux代码 


1. sudo   pecl  install  mongo (使用pecl 要安装php5-pear,php5-pear可用apt-get安装)


如果pecl运行过程中提示内存不足,请修改php.ini使memory_limit至少为32M 

pecl运行成功后将 extension="mongo.so" 

此时运行# php -i | grep mongo 显示如下 

此时用终端已经可以解析mongo了,但phpinfo()中没有mongo 

故采用以下步骤(获得二进制版本然后编译): 

git clone  git://github.com/mongodb/mongo-php-driver.git 

然后执行 $ cd php-mongodb 

$phpize 

    $ ./configure 
    $ sudo make install



然后重启Apache ,一定要重启哦! 

访问 http://127.0.0.1/phpinfo.php