MongoDB PHP教程
来源:互联网 发布:gopro编辑 windows 编辑:程序博客网 时间:2024/06/05 14:52
MongoDB是可扩展的、高性能的、开源的、文档型的数据库,使用C++编写的。现在有很多的NOSQL数据库。CouchDB、Cassandra和Redis具备了高扩展性和快速的特征,然而安装和设置对于新手来说还是相对比较慢,因为不需要这么高的可扩展性,而且安装相对困难。
MongoDB负载能力介于熟悉的而且易用的MySQL和文档型存储数据库之间。数据库没有设置方案,所以你可以添加、删除和修改文档的结构,不需要更新语句。
安装和设置
安装MongoDB是非常容易的。配置只要创建Mongo数据存储的目录。Windows系统下,默认的位置是C:\data\db和/data/db/*nix。一旦创建了目录,从下载页面下载二级制的Mongolia(http://www.mongodb.org/display/DOCS/Downloads),运行bin/mongod文件。Mongol应该被启动运行。
现在需要安装MongoDB的PHP扩展。如果是在Linux或Mac OS系统上,你可以使用包含在PHP中的pecl工具。命令行输入”sudo pecl install mongo”,这样就会自动pull数据源了,编译,并添加扩展输入到php.ini中。如果Windows系统上需要下载合适的二级制数据源(http://www.mongodb.org/display/DOCS/Installing+the+PHP+Driver#Installing thePHPDriver-WindowsInstall),拷贝php_mongo.dll文件到扩展的目录下,然后在php.ini文件中添加一行”extension=php_mongo.dll”。重启你的web服务器,所有事都会正常运行了。
MongoDB封装
MongoDB负载能力介于熟悉的而且易用的MySQL和文档型存储数据库之间。数据库没有设置方案,所以你可以添加、删除和修改文档的结构,不需要更新语句。
安装和设置
安装MongoDB是非常容易的。配置只要创建Mongo数据存储的目录。Windows系统下,默认的位置是C:\data\db和/data/db/*nix。一旦创建了目录,从下载页面下载二级制的Mongolia(http://www.mongodb.org/display/DOCS/Downloads),运行bin/mongod文件。Mongol应该被启动运行。
现在需要安装MongoDB的PHP扩展。如果是在Linux或Mac OS系统上,你可以使用包含在PHP中的pecl工具。命令行输入”sudo pecl install mongo”,这样就会自动pull数据源了,编译,并添加扩展输入到php.ini中。如果Windows系统上需要下载合适的二级制数据源(http://www.mongodb.org/display/DOCS/Installing+the+PHP+Driver#Installing thePHPDriver-WindowsInstall),拷贝php_mongo.dll文件到扩展的目录下,然后在php.ini文件中添加一行”extension=php_mongo.dll”。重启你的web服务器,所有事都会正常运行了。
MongoDB封装
class mongo{public $connection;public $collection;public function __construct($host = 'localhost:27017'){$this->connection = new \Mongo($host);}public function setDatabase($c){$this->db = $this->connection->selectDB($c);}public function setCollection($c){$this->collection = $this->db->selectCollection($c);}public function insert($f){$this->collection->insert($f);}public function get($f){$cursor = $this->collection->find($f);$k = array();$i = 0;while( $cursor->hasNext()){ $k[$i] = $cursor->getNext();$i++;}return $k;}public function update($f1, $f2){$this->collection->update($f1, $f2);}public function getAll(){$cursor = $this->collection->find();foreach ($cursor as $id => $value){echo "$id: ";var_dump( $value );}}public function delete($f, $one = FALSE){$c = $this->collection->remove($f, $one);return $c;}public function ensureIndex($args){return $this->collection->ensureIndex($args);}}
MongoDB 封装的使用
安装了MongoDB,运行写的类,就可以启动与一些数据的交互。我们开始实例化类,然后创建一个新的数据库和集合。数据库和集合都创建在fly上。MongoDB上的集合相当于SQL数据库的数据表,只是有保留数据。
$m = new mongo();$m->setDatabase('query7');$m->setCollection('data');
现在插入一些数据到集合中。主要到教程的数据值是一个数组。MongoDB支持这些数据结构和数据值,这些数据都可以被搜索和查询。
$m->insert(array('url' => 'http://www.query7.com','software' => 'wordpress','tutorials' => array('php','javascript','web development'),));
我们可以做简单的搜索和选择所有”url=http://www.query7.com”的文档,为了找到教程中网站开发的所有文档,我们需要设置教程为索引。想象可以很直接。
$m->get(array('url' => 'http://www.query7.com'));$m->ensureIndex(array('tutorials' => 1);$m->get(array('tutorials' = 'php'));
Array( [0] => Array ( [_id] => MongoId Object ( ) [url] => http://www.query7.com [software] => wordpress [tutorials] => Array ( [0] => php [1] => javascript [2] => web development ) ))
更新是很容易的。第一个参数是被更新数据的条件(类似于SQL中的WHERE),第二个参数是我们要对数据做的更改。注意到第二个参数有个key $set。通过使用$set可以保存文档中剩下的数据。如果你不使用$set,那么整个文档将只包含主要的软件和值wordpress2。
$m->update(array(‘url’=> www.query7.com'), array('$set' => array('software' => 'wordpress2')), true);
最后一步,是删除数据。我们删除数据的方法只用一个参数,条件必须符合。
$m->delete(array('software' => 'wordpress2'));
我希望这篇文章能帮助指导MongoDB多么容易使用。我极力推荐你在下一个项目中试用MongoDB。
- MongoDB PHP教程
- php操作mongodb教程
- PHP操作MongoDB简明教程
- Mongodb for PHP教程之入门安装
- Mongodb for PHP教程之管理工具
- PHP官方手册翻译-MongoDB教程
- Mongodb for PHP教程之数据操作
- Mongodb for PHP教程之数据操作
- Mongodb应用实战教程:PHP驱动的安装
- MongoDB 教程
- MongoDB教程
- mongodb教程
- mongoDB 教程
- mongodb教程
- MongoDB教程
- mongodb教程
- PHP--MongoDB
- php+mongodb
- 使用 tracert 跟踪网络连接
- 企业管理模式于工具
- 《诗盗·法克墙》
- 结构体完美解决二维数组返回值问题
- Xdebug 使用说明
- MongoDB PHP教程
- ubuntu 10.10 添加系统调用的方法
- jbpm4.4安装
- solaris 常用系统管理命令
- Postgresql客户端创建GIN索引问题
- 《诗盗·Wi-Fi 杀精》
- Beatles小记-分布式数据流分析框架(一)
- Xdebug之函数大全
- 《诗盗·午餐》