首页 > php教程 > PHP源码 > 正文

PHP与MongoDB简介|安全|M+PHP应用实例

PHP中文网
发布: 2016-05-25 17:12:35
原创
1429人浏览过

一、mongodb简介

mongodb (名称来自"humongous") 是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对存储和关系型数据库的优点于一身。官方站点:http://www.mongodb.org/,mongodb特点:

•面向文档存储(类json数据模式简单而强大)
•动态查询
•全索引支持,扩展到内部对象和内嵌数组
•查询记录分析
•快速,就地更新
•高效存储二进制大对象 (比如照片和视频)
•复制和故障切换支持
•auto-sharding自动分片支持云级扩展性
•mapreduce 支持复杂聚合
•商业支持,培训和咨询

二、安装mongodb

安装mongodb非常的简单,仅需下载压缩包解压运行命令即可,下载地址:http://www.mongodb.org/downloads,本文为windows平台,mongodb运行命令:>bin/mongod。提示:首先要创建存储数据的文件夹,mongodb 默认存储数据目录为 /data/db/ (或者 c:\data\db),当然你也可以修改成不同目录,只需要指定 --dbpath 参数,eg:
>bin/mongod --dbpath=d:\mgdata\db

三、安装mongodb php扩展

根据自己的php版本下载php扩展:http://github.com/mongodb/mongo-php-driver/downloads,提示:
1、vc6适合apache、vc9适合iis;
2、thread safe适合php以模块运行方式、non-thread safe适合cgi运行方式。
修改php.ini,加入:extension=php_mongo.dll,重启web服务器。

四、php测试与mongodb的相关示例

1、连接mongo服务器
php code复制内容到剪贴板

   <?php    
   //连接localhost:27017    
   $conn = new mongo();    
   //连接远程主机默认端口    
   $conn = new mongo('test.com');    
   //连接远程主机22011端口    
   $conn = new mongo('test.com: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");    
   ?>    
   <?php  
   //连接localhost:27017  
   $conn = new mongo();  
   //连接远程主机默认端口  
   $conn = new mongo('test.com');  
   //连接远程主机22011端口  
   $conn = new mongo('test.com: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");  
   ?>  
2、指定数据库和数据集名(表名)
php code复制内容到剪贴板

   <?php    
   //选择数据库blog    
   $db = $conn->blog;    
   //制定结果集(表名:users)  
     
   $collection = $db->users;    
   ?>    
   <?php  
   //选择数据库blog  
   $db = $conn->blog;  
   //制定结果集(表名:users)  
   $collection = $db->users;  
   ?>  

3、crud
php code复制内容到剪贴板

   <?php    
   //新增    
   $user = array('name' => 'caleng', 'email' => 'admin@admin.com');    
   $collection->insert($user);    
   //修改    
   $newdata = array('$set' => array("email" => "test@test.com"));    
   $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);    
   ?>    
   <?php  
   //新增  
   $user = array('name' => 'caleng', 'email' => 'admin@admin.com');  
   $collection->insert($user);  
   //修改  
   $newdata = array('$set' => array("email" => "test@test.com"));  
   $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、关闭连接
php code复制内容到剪贴板

   <?php    
   $conn->close();    
   ?>

PHP Apache和MySQL 网页开发初步
PHP Apache和MySQL 网页开发初步

本书全面介绍PHP脚本语言和MySOL数据库这两种目前最流行的开源软件,主要包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、解发器和视图等。本书帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何创建数据库驱动的动态Web应用程序。

PHP Apache和MySQL 网页开发初步 385
查看详情 PHP Apache和MySQL 网页开发初步
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号