1. 首页
  2. mongodb教程

34-三十四、MongoDB PHP

引言

PHP 语言可是使用 mongo.so ( Windows 下是 mongo.dll ) 扩展访问 MongoDB 数据库

MongoDB PHP 在各平台上的安装及驱动包下载请查看: PHP 安装 MongoDB 扩展驱动

如果你使用的是 PHP7,请移步: PHP7 MongoDB 安装与使用

PHP 连接 MongoDB 和 选择一个数据库

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


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接默认主机和端口为:mongodb://localhost:27017 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库

PHP MongoDB 创建集合

PHP MongoDB 创建创建集合可以使用下面的代码


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库 $c_lession = $db->createCollection("lession"); // 创建 lession 集合 echo "集合创建成功\n";

运行以上 PHP 脚本,输出结果如下:


$ php main.php 集合创建成功

PHP MongoDB 插入文档

可以使用 insert() 方法向 lession 集合中插入文档


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库 $collection = $db->lession; // 选择集合 $document = array (     "title" => "MongoDB 基础教程",     "favorite" => 1580000,     "url" => "https://www.ycbbs.vip/l/penglei/mongodb/",     "by" => "penglei" ); $collection->insert($document); echo "数据插入成功\n";

运行以上 PHP 脚本,输出结果如下:


$ php main.php 数据插入成功

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


> db.lession.find().pretty() { "_id" : ObjectId("59eee84c3f8c88a4f10041a7"), "title" : "MongoDB 基础教程", "favorite" : NumberLong(1580000), "url" : "https://www.ycbbs.vip/l/penglei/mongodb/", "by" : "penglei" }

PHP MongoDB 查找文档

可以使用 find() 方法查询 lession 集合中的文档


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库 $collection = $db->lession; // 选择集合 $cursor = $collection->find(); // 迭代显示文档标题 foreach( $cursor as $document ) { echo $document["title"],"\n"; } echo "\n";

运行以上 PHP 脚本,输出结果如下:


$ php main.php MongoDB 基础教程

PHP MongoDB 更新文档

可以使用 update() 方法来更新 lession 集合中的文档


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库 $collection = $db->lession; // 选择集合 $cursor = $collection->find(); $collection->update(array("title"=>"MongoDB 基础教程"), array('$set'=>array("title"=>"MongoDB 教程"))); // 显示更新后的文档 $cursor = $collection->find(); // 循环显示文档标题 foreach( $cursor as $document) { echo $document["title"],"\n"; } echo "\n";

运行以上 PHP 脚本,输出结果如下:


$ php main.php MongoDB 教程

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

![Image 1][]

PHP MongoDB 删除文档

可以使用 remove() 方法来删除 lession 集合中的文档


<?php /* * filename: main.php * author: 研发军团(www.ycbbs.vip) * Copyright © 2015-2065 www.ycbbs.vip. All rights reserved. */ $m = new MongoClient(); // 连接 $db = $m->ycbbs; // 切换到 "ycbbs" 数据库 $collection = $db->lession; // 选择集合 $cursor = $collection->find(); // 移除文档 $collection->remove(array("title"=>"MongoDB 教程"), array("justOne" => true)); // 显示可用文档数据 $cursor = $collection->find(); foreach ( $cursor as $document) { echo $document["title"],"\n"; }

运行以上 PHP 脚本,输出结果如下:


$ php main.php

除了以上方法外,PHP MongoDB 扩展还有以下方法:


、 findOne() 、 save() 、 limit() 、 skip() 、 sort()

延伸阅读

更多的操作方法可以参考 PHP MongoDB 扩展 http://docs.php.net/set.mongodb

[Image 1]:
希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:34-三十四、MongoDB PHP

    链接:https://www.javajike.com/article/1548.html

« 36-三十六、MongoDB 关系
33-三十三、MongoDB PHP 扩展»

相关推荐

QR code