MongoDB教程
+ -

MongoDB PHP

2019-09-09 2 0

在php中使用mongodb你必须使用 mongodb 的 php驱动。

确保连接及选择一个数据库

为了确保正确连接,你需要指定数据库名,如果数据库在mongoDB中不存在,mongoDB会自动创建

代码片段如下:

<?php
$m = new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:27017
$db = $m->test; // 获取名称为 "test" 的数据库
?>

创建集合

创建集合的代码片段如下:

<?php
$m = new MongoClient(); // 连接
$db = $m->test; // 获取名称为 "test" 的数据库
$collection = $db->createCollection("bytekits");
echo "集合创建成功";
?>

执行以上程序,输出结果如下:

集合创建成功

插入文档

在mongoDB中使用 insert() 方法插入文档:
插入文档代码片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->bytekits; // 选择集合
$document = array( 
    "title" => "MongoDB",    "description" => "database",    "likes" => 100,
    "url" => "http://www.bytekits.com/mongodb/",
    "by", "字节流"
);
$collection->insert($document);
echo "数据插入成功";
?>

执行以上程序,输出结果如下:

数据插入成功

然后我们在 mongo 客户端使用 db.bytekits.find().pretty(); 命令查看数据:

查看结果

查找文档

使用find() 方法来读取集合中的文档。

读取使用文档的代码片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->bytekits; // 选择集合
$cursor = $collection->find();
// 迭代显示文档标题
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

执行以上程序,输出结果如下:

MongoDB

更新文档

使用 update() 方法来更新文档。

以下实例将更新文档中的标题为’ MongoDB 教程’, 代码片段如下:

<pre>
<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->bytekits; // 选择集合
// 更新文档
$collection->update(array("title"=>"MongoDB"), array('$set'=>array("title"=>"MongoDB 教程")));
// 显示更新后的文档
$cursor = $collection->find();
// 循环显示文档标题
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

执行以上程序,输出结果如下:

MongoDB 教程

然后我们在 mongo 客户端使用 db.bytekits.find().pretty(); 命令查看数据:

mongo 客户端

删除文档

使用 remove() 方法来删除文档。

以下实例中我们将移除 ‘title’ 为 ‘MongoDB 教程’ 的一条数据记录。, 代码片段如下:

<?php
$m = new MongoClient();    // 连接到mongodb
$db = $m->test;            // 选择一个数据库
$collection = $db->bytekits; // 选择集合
// 移除文档
$collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true));
// 显示可用文档数据
$cursor = $collection->find();
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

除了以上实例外,在php中你还可以使用findOne(), save(), limit(), skip(), sort()等方法来操作Mongodb数据库。
更多的操作方法可以参考 Mongodb 核心类:http://php.net/manual/zh/mongo.core.php

0 篇笔记 写笔记

Nginx PHP7+MySQL5.7(LNMP)环境配置
在前面几篇文章中,我们已经介绍并演示安装 Nginx的几种方式,在开始本篇文章的阅读和实践之前,建议先阅读”Nginx安装配置”:http://www.bytekits.com/nginx/nginx-install.html ,在上面文章的基础之上,我们再添加 PHP7 的安装配置以及MySQL的......
MongoDB 关系
MongoDB 的关系表示多个文档之间在逻辑上的相互联系。文档间可以通过嵌入和引用来建立联系。MongoDB 中的关系可以是:1:1 (1对1)1: N (1对多)N: 1 (多对1)N: N (多对多) 接下来我们来考虑下用户与用户地址的关系。一个用户可以有多个地址,所以是一对多的关系。以下是 u......
PHP 删除文件
在PHP中,我们可以使用unlink()函数来删除任何文件。 unlink()函数仅接受一个参数:文件名。 它类似于UNIXC的unlink()函数。如果文件未被删除,PHP unlink()会产生E_WARNING级错误。 如果文件被成功删除,则返回TRUE,否则返回FALSE。语法bool un......
Perl POD 文档
Perl 中可以在模块或脚本中嵌入 POD(Plain Old Documentation) 文档。POD 是一种简单而易用的标记型语言(置标语言)。POD 文档使用规则:POD 文档以 =head1 开始, =cut 结束, =head1 前与 =cut 后添加一空行。Perl 会忽略 POD 中......
PHP 函数不定参数和默认参数
PHP作为一门弱化语言,支持c语言类似的不定参数和可选参数,只是格式书写格式不致,如:不定参数:使用函数fun_num_args()获取参数个数,使用fun_get_args()获取参数,指定索引则获取第内个参数,未指定索引指获取所有参数并生成数组返回。phpfunction foo(){......
PHP 上传文件
在PHP中,只需要通过几行代码,就能完成上传单个和多个文件的处理。PHP文件上传功能允许上传二进制和文本文件。 此外,您可以通过PHP身份验证和文件操作功能完全控制要上传的文件。PHP $_FILESPHP全局$_FILES包含文件的所有信息。在$_FILES全局变量的帮助下,我们可以得到文件名,文......
PHP MySQL Order By排序
PHP mysql_query()函数用于使用order by子句执行select查询将结果集排序。 由于从PHP5.5版本起,不推荐使用mysql_query()函数。 现在,建议使用以下2种替代方法之一。mysqli_query()PDO::__query()order by子句可用于按列升序或......
PHP 关联数组
PHP允许在PHP中使用=>符号将名称/标签与每个数组元素相关联。使用这种方式,可以很容易记住元素,因为每个元素由标号表示一个递增的数字。定义有两种方法来定义关联数组:第一种方式:$salary=array("Hema"=>"550000",&qu......
MySQL PHP语法
MySQL 可应用于多种语言,包括 PERL, C, C++, JAVA 和 PHP。 在这些语言中,Mysql在PHP的web开发中是应用最广泛。在本教程中我们大部分实例都采用了 PHP 语言。如果你想了解 Mysql 在 PHP 中的应用,可以访问我们的 PHP教程。PHP提供了多种方式来访问和......
Python3 XML解析
什么是 XML?XML 指可扩展标记语言(eX tensible M arkup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 你可以通过本站学习 XML 教程XML 被设计用来传输和存储数据。XML 是一套定义语义标记的规则,这些标记将文档分成许多部......
MongoDB 简介
什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>va......
PHP 参数化函数
PHP参数化函数是带有参数的函数。 您可以在函数中传递任意数量的参数。 这些传递的参数作为函数中的变量。它们在函数名称之后,在括号内指定。输出取决于作为参数传递到函数中的动态值。PHP参数化示例1 加减法在这个例子中,我们在两个函数add()和sub()中传递了两个参数$x和$y。 文件:para.......
Java 文档注释
Java 支持三种注释方式。前两种分别是 // 和 / / ,第三种被称作说明注释,它以 /** 开始,以 */ 结束。说明注释允许你在程序中嵌入关于程序的信息。你可以使用 javadoc 工具软件来生成信息,并输出到HTML文件中。说明注释,使你更加方便的记录你的程序信息。javadoc 标签ja......
PHP $和$$变量
$var(一个美元)是一个正常变量,名称为:var,存储任何值,如:string,integer,float等。$$var(两个美元)是一个引用变量,用于存储$var的值。为了更好地理解$和$$之间的区别,下面来看看一些例子。示例1php $x = "abc"......
PHP MySQL连接
自从PHP 5.5以来,mysql_connect()扩展已被弃用。 现在,建议使用以下2种替代方法之一。mysqli_connection()PDO::__ construct()PHP mysqli_connect()函数PHP mysqli_connect()函数用于连接MySQL数据库。 如......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!