zoukankan      html  css  js  c++  java
  • PHP与MongoDB简介|安全|M+PHP应用实例(转)

    一、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();
    ?>
    标签: <无>
    代码片段(1) [全屏查看所有代码]
    1. [代码][PHP]代码
    001
    一、MongoDB简介
    002

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

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

    016
    二、安装MongoDB
    017

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

    021
    三、安装MongoDB PHP扩展
    022

    023
    根据自己的PHP版本下载PHP扩展:http://github.com/mongodb/mongo-php-driver/downloads,提示:
    024
    1、VC6适合Apache、VC9适合IIS;
    025
    2、Thread safe适合PHP以模块运行方式、Non-thread safe适合CGI运行方式。
    026
    修改php.ini,加入:extension=php_mongo.dll,重启Web服务器。
    027

    028
    四、PHP测试与MongoDB的相关示例
    029

    030
    1、连接Mongo服务器
    031
    PHP Code复制内容到剪贴板
    032

    033
    <?php
    034
    //连接localhost:27017
    035
    $conn = new Mongo();
    036
    //连接远程主机默认端口
    037
    $conn = new Mongo('test.com');
    038
    //连接远程主机22011端口
    039
    $conn = new Mongo('test.com:22011');
    040
    //MongoDB有用户名密码
    041
    $conn = new Mongo("mongodb://${username}:${password}@localhost")
    042
    //MongoDB有用户名密码并指定数据库blog
    043
    $conn = new Mongo("mongodb://${username}:${password}@localhost/blog");
    044
    //多个服务器
    045
    $conn = new Mongo("mongodb://localhost:27017,localhost:27018");
    046
    ?>
    047
    <?php
    048
    //连接localhost:27017
    049
    $conn = new Mongo();
    050
    //连接远程主机默认端口
    051
    $conn = new Mongo('test.com');
    052
    //连接远程主机22011端口
    053
    $conn = new Mongo('test.com:22011');
    054
    //MongoDB有用户名密码
    055
    $conn = new Mongo("mongodb://${username}:${password}@localhost")
    056
    //MongoDB有用户名密码并指定数据库blog
    057
    $conn = new Mongo("mongodb://${username}:${password}@localhost/blog");
    058
    //多个服务器
    059
    $conn = new Mongo("mongodb://localhost:27017,localhost:27018");
    060
    ?>
    061

    062

    063
    2、指定数据库和数据集名(表名)
    064
    PHP Code复制内容到剪贴板
    065

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

    071
    $collection = $db->users;
    072
    ?>
    073
    <?php
    074
    //选择数据库blog
    075
    $db = $conn->blog;
    076
    //制定结果集(表名:users)
    077
    $collection = $db->users;
    078
    ?>
    079

    080

    081
    3、CRUD
    082
    PHP Code复制内容到剪贴板
    083

    084
    <?php
    085
    //新增
    086
    $user = array('name' => 'caleng', 'email' => 'admin@admin.com');
    087
    $collection->insert($user);
    088
    //修改
    089
    $newdata = array('$set' => array("email" => "test@test.com"));
    090
    $collection->update(array("name" => "caleng"), $newdata);
    091
    //删除
    092
    $collection->remove(array('name'=>'caleng'), array("justOne" => true));
    093
    //查找
    094
    $cursor = $collection->find();
    095
    var_dump($cursor);
    096
    //查找一条
    097
    $user = $collection->findOne(array('name' => 'caleng'), array('email'));
    098
    var_dump($user);
    099
    ?>
    100
    <?php
    101
    //新增
    102
    $user = array('name' => 'caleng', 'email' => 'admin@admin.com');
    103
    $collection->insert($user);
    104
    //修改
    105
    $newdata = array('$set' => array("email" => "test@test.com"));
    106
    $collection->update(array("name" => "caleng"), $newdata);
    107
    //删除
    108
    $collection->remove(array('name'=>'caleng'), array("justOne" => true));
    109
    //查找
    110
    $cursor = $collection->find();
    111
    var_dump($cursor);
    112
    //查找一条
    113
    $user = $collection->findOne(array('name' => 'caleng'), array('email'));
    114
    var_dump($user);
    115
    ?>
    116

    117

    118

    119
    4、关闭连接
    120
    PHP Code复制内容到剪贴板
    121

    122
    <?php
    123
    $conn->close();
    124
    ?>

  • 相关阅读:
    找水王
    用户体验评价
    人件集阅读笔记01
    第十四周学习进度
    第十三周学习进度
    第十二周学习进度
    第十一周学习进度
    梦断代码阅读笔记03
    团队项目-第一阶段冲刺-10
    Shell按行读取文件的3种方法
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3103514.html
Copyright © 2011-2022 走看看