您好,欢迎访问一九零五行业门户网

PHP操作MongoDB数据库_PHP教程

php操作mongodb数据库
一、mongodb简介
mongodb (名称来自”humongous”) 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对存储和关系型数据库的优点于一身。
mongodb特点:
• 面向文档存储(类json数据模式简单而强大)
• 动态查询
• 全索引支持,扩展到内部对象和内嵌数组
• 查询记录分析
• 快速,就地更新
• 高效存储二进制大对象 (比如照片和视频)
• 复制和故障切换支持
• auto-sharding自动分片支持云级扩展性
• mapreduce 支持复杂聚合
• 商业支持,培训和咨询
二、安装mongodb
安装mongodb非常的简单,仅需下载压缩包解压运行命令即可
下载地址: https://www.mongodb.org/downloads
本文为windows平台,mongodb运行命令:>bin/mongod
提示:首先要创建存储数据的文件夹,mongodb 默认存储数据目录为 /data/db/ (或者 c:datadb),当然你也可以修改成不同目录,只需要指定 –dbpath 参数,
示例:
>bin/mongod –dbpath=d:mgdatadb
更多请参看我的csdn博客:mongodb 安装配置
三、安装mongodb php扩展
根据自己的php版本下载php扩展:
http://php.net/manual/en/mongo.installation.php#mongo.installation.nix
http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows
提示:
1、vc6适合apache、vc9适合iis;
2、thread safe适合php以模块运行方式、non-thread safe适合cgi运行方式。
修改php.ini,加入:extension=php_mongo.dll,重启web服务器。
ubuntu安装步骤:
1. 下载插件: mongo-php-driver
2. 解压安装:
$ tar zxvf mongodb-mongodb-php-driver-.tar.gz$ cd mongodb-mongodb-php-driver-$ phpize$ ./configure$ make all$ sudo make install
3. 配置php.ini
#extension=uploadprogress.so
#extension=http.so
#extension=intl.so
#extension=curl.so
extension=/usr/lib/php5/20121212/curl.so
extension=/usr/lib/php5/20121212/gd.so
extension=/usr/lib/php5/20121212/json.so
extension=/usr/lib/php5/20121212/mysql.so
extension=/usr/lib/php5/20121212/mysqli.so
#extension=/usr/lib/php5/20121212/opcache.so
extension=/usr/lib/php5/20121212/pdo.so
extension=/usr/lib/php5/20121212/pdo_mysql.so
#extension=/usr/lib/php5/20121212/readline.so
#extension=/usr/lib/php5/20121212/xdebug.so
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20121212/redis.so
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20121212/mongo.so
4. 重启apache
sudo /etc/init.d/apache2 restart
5. 修改默认启动项目(可选)
sudo vim /etc/apache2/apache2.conf
添加配置代码如下:
1234567891011121314 *:80> serveradmin webmaster@localhost documentroot /home/homer/workspace /home/homer/workspace/money_client> directoryindex index.html index.php options indexes followsymlinks allowoverride none require all granted /directory> servername localhost directoryindex index.html index.php errorlog ${apache_log_dir}/error_alibuyer.log customlog ${apache_log_dir}/access_alibuyer.log combined/virtualhost>
四、php示例
1、连接mongo服务器
1234567891011121314 $conn = new mongo(); // 连接localhost:27017 $conn = new mongo('test.com'); // 连接远程主机默认端口 $conn = new mongo('test.com:22011'); //连接远程主机22011端口 // mongodb有用户名密码 $conn = new mongo(mongodb://${username}:${password}@localhost); // mongodb有用户名密码并指定数据库blog $conn = new mongo(mongodb://${username}:${password}@localhost/blog); // 多个服务器 $conn = new mongo(mongodb://localhost:27017,localhost:27018); ?>
或者使用 mongoclient()
1234567891011121314151617 $mongo_server = array( 'host'=>'10.123.55.16', 'port'=>27017, 'dbname'=>'mimvp_money', 'user'=>'', 'pwd'=>''); $count = $coll->count(); print(count: . $count); $host_port = $mongo_server['host'] . : . $mongo_server['port']; // '10.123.55.16:20517' $conn = new mongoclient($host_port); $db = $conn->selectdb($mongo_server['dbname']); $coll = new mongocollection($db, $connname); $conn->close();?>
2、指定数据库和数据集名(表名)
1234 $db = $conn->blog; // 选择数据库blog $collection = $db->users; // 制定结果集(表名:users)?>
3、crud 操作
123456789101112131415 $user = array('name' => 'caleng', 'email' => '[email protected]'); // 新增 $collection->insert($user); $newdata = array('$set' => array(email => [email protected])); // 修改 $collection->update(array(name => caleng), $newdata); $collection->remove(array('name'=>'caleng'), array(justone => true)); // 删除 $cursor = $collection->find(); // 查找 var_dump($cursor); $user = $collection->findone(array('name' => 'caleng'), array('email')); // 查找一条 var_dump($user); ?>
4、关闭连接
123 $conn->close(); ?>
五、示例代码
123456789101112131415161718192021222324252627282930313233343536373839 //这里采用默认连接本机的27017端口,当然你也可以连接远程主机如192.168.0.4:27017,如果端口是27017,端口可以省略 $m = new mongo(); // 选择comedy数据库,如果以前没该数据库会自动创建,也可以用$m->selectdb(comedy); $db = $m->comedy; //选择comedy里面的collection集合,相当于rdbms里面的表,也-可以使用 $collection = $db->collection; $db->selectcollection(collection); //添加一个元素 $obj = array( title => calvin and hobbes-.date('i:s'), author => bill watterson ); //将$obj 添加到$collection 集合中 $collection->insert($obj); //添加另一个元素 $obj = array( title => xkcd-.date('i:s'), online => true ); $collection->insert($obj); //查询所有的记录 $cursor = $collection->find(); //遍历所有集合中的文档 foreach ($cursor as $obj) { echo $obj[title] .
; } //删除所有数据 //$collection->remove(); //删除 name 为hm //$collection->remove(array('name'=>'hm')); //断开mongodb连接 $m->close(); ?>
http://www.bkjia.com/phpjc/1065656.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/1065656.htmltecharticlephp操作mongodb数据库 一、mongodb简介 mongodb (名称来自humongous) 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库...
其它类似信息

推荐信息