PHP操作MongoDB-阿里云开发者社区

开发者社区> 数据库> 正文

PHP操作MongoDB

简介:
<?php
error_reporting(7);

$conn = new Mongo();

$db = $conn->PHPDataBase;
$collection = $db->PHPCollection;


/*-----------------------------
 * 删除
 *-----------------------------
$collection->remove(array("name" => "xixi111"));
*/

/*------------------------------
 * 插入
 *------------------------------
for($i = 0;$i <= 50;$i++) {
    $data = array("name" => "xixi".$i,"email" => "673048143_".$i."@qq.com","age" => $i*1+20);
    $collection->insert($data);
}
*/

/*-------------------------------
 * 查找
 *-------------------------------
$res = $collection->find(array("age" => array('$gt' => 25,'$lt' => 40)),array("name" => true));

foreach($res as $v) {
    print_r($v);
}
*/

/*-------------------------------
 * 更新
 *-------------------------------
 $collection->update(array("age" =>22),array('$set' => array("name" => "demoxixi")));
*/
?>
复制代码

完成MongoDB的安装

完成PHP对MongoDB的扩展,重启apache

开启MongoDB服务,就像mysql一样。

然后就可以用PHP操作MongoDB了。

下面是我自己今天学习的一些笔记:

首先要能对概念有个清晰的理解。
新闻的增删改查。
首先是新闻添加,新闻标题,新闻作者,新闻内容。
然后是新闻的读取。MongoDB中的数据读取出来,通过PHP读取。
这里面的界面都是用HTML语言写的,这个是一样的。

传统的关系数据库一般由数据库、表、记录三个层次组成。
MongoDB是由数据库、集合、文档三个层次组成。
MongoDB采用的是面向文档的数据模型使其可以自由在多台服务器之间分割数据。
它还可以平衡集群的数据和负载,自动重排文档。

支持:
索引
可以存储Javascript
文件存储

不支持:
join和复杂的多行事务

文档是MongoDB中数据的基本单元(类似于关系型数据库中的行)
类似的,集合可以被看做是没有模式的表。

多个键及其关联的值有序地放置在一起便是文档。
{"greeting":"Hello,world!"}
这个文档只有一个键"greeting",其对应的值为"Hello,world!"
{"greeting":"Hello,world!","foo":3}

MongoDB不但区分类型,而且区分大小写:
{"foo":3}
{"foo":"3"}

{"foo":3}
{"Foo":3}
都是不同的

还有一个非常重要的事项,MongoDB文档不能有重复的键。下面的文档时非法的:
{"greeting":"Hello,world!","greeting":"Hello,MongoDB"}

集合
集合就是一组文档。如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表。

集合是无模式的,这意味着一个集合里面的文档可以是各式各样的。
例如下面的文档可以存在于同一个集合里:
{"greeting":"Hello,world!"}
{"foo":5}

把同种类型的文档放在一个集合里,这样数据会更加集中。

MongoDB中多个文档组成集合,同样多个集合可以组成数据库。

数据库名最终会变成文件系统里的文件。

CRUD
插入:
insert函数添加一个文档到集合里面。例子:db.blog.insert(post)。
读取:
find读取集合里的文档。例子:db.blog.find()。
若是想查看一个文档,可以用findOne。
更新:
update。update接受两个参数,第一个是要更新文档的限定条件,第二个是新的文档。
例子:db.blog.update({title:"My Blog Post"},post)
删除:
remove。它可以接受一个文档以指定限制条件。
db.blog.remove({title:"My Blog Post"})

MongoDB字段类型
null:
null用于表示空值或者不存在的字段。{"x":null}
布尔:
布尔类型有两个值'true'和'false':
{"x":true}

32位整数:
64位整数:

64位浮点数:shell中的数字都是这种类型。
{"x":3.14}
这也是一个浮点数
{"x":3}

字符串:
{"x":"foobar"}
符号:
对象id:
日期:
正则表达式:
{"x":/foobar/i}
代码:
{"x":function(){/*...*/}}
二进制数据:
最大值:
最小值:
未定义:
{"x":undefined}
数组:
{"x":["a","b","c"]}
内嵌文档:
{"x":{"foo":"bar"}}



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2012/10/10/2718531.html,如需转载请自行联系原作者


版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章