数据库

 首页 > 数据库 > MongoDB > 在PHP程序中使用MongoDB数据库

在PHP程序中使用MongoDB数据库

分享到:
【字体:
导读:
         摘要:一、MongoDB简介MongoDB(名称来自humongous)是一个可扩展的、高性能、开源、模式自由、面向文档的数据库,集文档数据库、键值对存储和关系型数据库的优点于一身。官方站点:http://www.mongodb.org/,MongoDB特点:面向文档存储(类JSON数据模式简单而强...

在PHP程序中使用MongoDB数据库

一、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:datadb),当然你也可以修改成不同目录,只需要指定 --dbpath 参数,eg:
>bin/mongod --dbpath=d:mgdatadb

三、安装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服务器

         //连接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");
    ?>
         //连接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、指定数据库和数据集名(表名)
         //选择数据库blog
    $db = $conn->blog;
    //制定结果集(表名:users)
    $collection = $db->users;
    ?>
         //选择数据库blog
    $db = $conn->blog;
    //制定结果集(表名:users)
    $collection = $db->users;
    ?>
3、CRUD
         //新增
    $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);
    ?>
         //新增
    $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程序中使用MongoDB数据库
分享到:
MongoDB与MySQL数据库基本SQL语句使用对...
MongoDB与MySQL数据库基本SQL语句使用对比 查询: MySQL: SELECT * FROM user Mongo: db.user.find() MySQL: SELECT * FROM user WHERE name = ’starlee’ Mongo: db.user.find({‘name’ : ’starlee’}) 插入: MySQL: INSERT INOT user (`name`, `age`) values (’starlee’,25) Mongo: db.user.insert({‘na...
.NET程序如何连接MongoDB数据库
.NET程序如何连接MongoDB数据库 引言 这则小窍门将讲述如何开发一个.NET应用来连接Mongo数据库并执行多种操作。同时还稍微涉及了Mongo数据库和多种命令。 使用代码 让我们从Mongo数据库的一些细节和基本命令开始,并最终介绍如何创建一个可连接至Mongo数据库的.NET Windows应用。 Mongo数据库 MongoDB ...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……