PHP对MongoDB[NoSQL]数据库的操作_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://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(); 
?>

时间: 2024-12-26 18:11:53

PHP对MongoDB[NoSQL]数据库的操作_php技巧的相关文章

28个MongoDB NoSQL数据库的面试问答

MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoSQL面试问答涵盖了NoSQL数据库基本的概念,复制(Replication),分片(Sharding),事务和锁,跟踪分析工具(Profiler),Nuances和日志等特性.让我们看看下面的这些MongoDB NoSQL数据库的面试问答吧: 1. 你说的NoSQL数据库是什么意思?NoSQL与RD

MySQL数据库常用操作和技巧(DBA必备知识)_Mysql

MySQL数据库可以说是DBA们最常见和常用的数据库之一,MySQL的广泛应用,也使更多的人加入到学习它的行列之中.下面是老MySQL DBA总结的MySQL数据库最常见和最常使用的一些经验和技巧,分享给大家! 一.MySQL数据库的备份 使用MySQL数据库,最常用也是最重要的就是数据库备份了,所以我们先介绍数据库备份.进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好(这个方法没有得到官方正式文

php将access数据库转换到mysql数据库的方法_php技巧

本文实例讲述了php将access数据库转换到mysql数据库的方法.分享给大家供大家参考.具体分析如下: 本人采集来的数据是ACCESS的,但我的程序是mysql的,故写了一个程序,程序三步走,分享一下,喜欢操作数据库的朋友应该都会用到的. 1.连接mysql,代码如下: 复制代码 代码如下: $dbhost="localhost:3307";//服务器  $db="dataname";//数据库  $dbuser="root";//用户名 

zend framework配置操作数据库实例分析_php技巧

zendframework项目环境搭建后,看了下zend framework配置操作数据库,php教程如下: 在application/configs的文件下建立一个config.ini文件 配置信息如下: [general] db.adapter=PDO_MYSQL db.config.host=localhost/IParess db.config.username=username db.config.password=password db.config.dbname=databasen

php连接与操作PostgreSQL数据库的方法_php技巧

本文实例讲述了php连接与操作PostgreSQL数据库的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: $pg=@pg_connect("host=localhost user=postgres password=sa dbname=employes") or die("can't connect to database."); $query="select * from employes order by serial_no&q

php简单操作mysql数据库的类_php技巧

本文实例讲述了php简单操作mysql数据库的类.分享给大家供大家参考.具体如下: <?php /** * Database class * * @version: 2.2 * @revised: 27 may 2007 * **/ class Database { var $host; var $name; var $user; var $pass; var $prefix; var $linkId; function Database($mysql) { foreach($mysql as

PHP操作XML作为数据库的类_php技巧

xml.class.php文件代码 复制代码 代码如下: <?php * example 读取数据: * * $xml = new xml("dbase.xml",'table'); * * $data=$xml->xml_fetch_array(); * * echo "<pre style="font-size:12px;">"; * * print_r($data); * class xml { var $dbase

使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法_php技巧

1.新建数据库: 进入phpmyadmin管理界面以后,找到如下文字"创建一个新的数据库",然后在下面填上要新建的数据库的名称,在后面的下拉列表中选择数据库的编码,如"utf8_general_ci",点击"创建"按钮,这样就新建了一个数据库. 2.新建此数据库的对应帐户 在phpmyadmin管理界面点击"权限",打开链接,点击"添加新用户",在打开的页面中会看到"登入信息",输入用户

php中CI操作多个数据库的代码_php技巧

其实,这不是什么难事,因为刚入手CI,所以还是费了一番周折.好在有手册. 找到数据库配置文件,添加一个新的库的连接信息.$config[XX]. 在控制器里边, a) $this->xx = $this->load->database('XX', TRUE) tip:XX表示你配置的数据库信息数组的键名,后边建议设置为TRUE,分别表示返回连接ID和启用ActionRecord类 b) 然后在该控制器里边你就可以用 $this->xx->query()来查询你的另一个库的数据