PHP对MongoDB[NoSQL]数据库的操作

 更新时间:2013年03月01日 10:33:41   作者:  
PHP对MongoDB[NoSQL]数据库的操作,需要的朋友可以参考一下

一、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://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服务器。
四、PHP示例
1、连接Mongo服务器

复制代码 代码如下:

<?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 
//选择数据库blog 
$db = $conn->blog; 
//制定结果集(表名:users)

$collection = $db->users; 
?>
3、CRUD
<?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 
$conn->close(); 
?>

相关文章

  • php中使用redis队列操作实例代码

    php中使用redis队列操作实例代码

    为大家介绍一个php使用redis队列操作的例子,供初学redis的朋友参考吧
    2013-02-02
  • php阿拉伯数字转中文人民币大写

    php阿拉伯数字转中文人民币大写

    这篇文章主要介绍了php阿拉伯数字转中文大写金额,分享了两种实现方法,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • PHP常量及变量区别原理详解

    PHP常量及变量区别原理详解

    这篇文章主要介绍了PHP常量及变量区别原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • php操作redis数据库常见方法实例总结

    php操作redis数据库常见方法实例总结

    这篇文章主要介绍了php操作redis数据库常见方法,结合实例形式总结分析了PHP操作redis数据库的基本安装、连接、字符串、哈希表、列表、集合等相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • 『PHP』PHP截断函数mb_substr()使用介绍

    『PHP』PHP截断函数mb_substr()使用介绍

    截断文章标题,控制在15个文字,接下来为大家讲解下如何实现这个需求,感兴趣的朋友可以参考下哈
    2013-04-04
  • php字符串的替换,分割和连接方法

    php字符串的替换,分割和连接方法

    这篇文章主要介绍了php字符串的替换,分割和连接方法,分析了preg_replace、str_replace、preg_split、explode及implode等函数的功能与使用方法,需要的朋友可以参考下
    2016-05-05
  • php的access操作类

    php的access操作类

    Access数据库操作类实现代码
    2008-04-04
  • PHP中的闭包function() use() {}使用场景和技巧

    PHP中的闭包function() use() {}使用场景和技巧

    由于存在函数内部不能访问全局作用的,所以就需要一种可以引入上一级作用域的语法结构,可以通过use使用函数声明时所在作用域的变量的值。php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的。
    2022-12-12
  • 解析argc argv在php中的应用

    解析argc argv在php中的应用

    本篇文章是对argc与argv在php中的应用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php+mysql开发的最简单在线题库(在线做题系统)完整案例

    php+mysql开发的最简单在线题库(在线做题系统)完整案例

    这篇文章主要介绍了php+mysql开发的最简单在线题库(在线做题系统)案例,结合完整实例形式分析了PHP结合MySQL数据库查询、判断实现的在线题库功能相关操作技巧,需要的朋友可以参考下
    2019-03-03

最新评论