php nosql mysql_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服务器

//连接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;

?>

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);

?>

4、关闭连接

$conn->close();

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值