原文地址:https://www.mongodb.org.cn/drivers/2.html   (该网站为mongoDB官方网站)

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

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

如果你使用的是 PHP7,请参阅:PHP7 MongoDB 安装与使用

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

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

代码片段如下:

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

创建集合

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

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

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

  1. 集合创建成功

插入文档

在mongoDB中使用 insert() 方法插入文档:

插入文档代码片段如下:

  1. <?php
  2. $m = new MongoClient(); // 连接到mongodb
  3. $db = $m->test; // 选择一个数据库
  4. $collection = $db->mongo; // 选择集合
  5. $document = array(
  6. "title" => "MongoDB",
  7. "description" => "database",
  8. "likes" => 100,
  9. "url" => "http://www.mongodb.org.cn/",
  10. "by" => "Mongodb中文网"
  11. );
  12. $collection->insert($document);
  13. echo "数据插入成功";
  14. ?>

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

  1. 数据插入成功

然后我们在 mongo 客户端查看数据

  1. db.mongo.find().pretty();

输出

  1. {
  2. "_id": ObjectId("57512b3a57c9150f178b4567"),
  3. "title" : "MongoDB",
  4. "description" : "database",
  5. "likes" : NumberLong(100),
  6. "url" : "http://www.mongodb.org.cn/",
  7. "by" : "Mongodb中文网"
  8. }

查找文档

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

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

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

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

  1. MongoDB

更新文档

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

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

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

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

  1. MongoDB 教程

然后我们在 mongo 客户端查看数据是否被更新

  1. db.runoob.find().pretty();

输出

  1. {
  2. "_id": ObjectId("57512b3a57c9150f178b4567"),
  3. "title" : "MongoDB教程",
  4. "description" : "database",
  5. "likes" : NumberLong(100),
  6. "url" : "http://www.mongodb.org.cn/",
  7. "by" : "Mongodb中文网"
  8. }

删除文档

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

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

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

除了以上实例外,在php中你还可以使用findOne(), save(), limit(), skip(), sort()等方法来操作Mongodb数据库。

更多的操作方法可以参考 Mongodb 核心类:http://php.net/manual/zh/mongo.core.php

PHP实现的MongoDB数据增删改查的更多相关文章

  1. Java连接MongoDB进行增删改查

    1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean ...

  2. MongoDB的增删改查 转

    MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系. ...

  3. Java实现mongodb原生增删改查语句

    Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...

  4. Scala对MongoDB的增删改查操作

    =========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! ==================== ...

  5. C# 对MongoDB 进行增删改查的简单操作

    C# 对MongoDB 进行增删改查的简单操作   下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 1,连接数据库   /// & ...

  6. python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查

    python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...

  7. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

  8. 2,MongoDB之增删改查及pymongo的使用

    本章我们来学习一下关于 MongoDB的增删改查 一.MongoDB操作 之 原生ORM,根本不存在SQL语句 创建数据库:这里和一般的关系型数据库一样,都要先建立一个自己的数据库空间 是的,Mong ...

  9. SpringBoot操作MongoDB实现增删改查

    本篇博客主讲如何使用SpringBoot操作MongoDB. SpringBoot操作MongoDB实现增删改查 (1)pom.xml引入依赖 <dependency> <group ...

随机推荐

  1. siblings,next,prev

    同胞拥有相同的父元素. 通过 jQuery,您能够在 DOM 树中遍历元素的同胞元素. 在 DOM 树中水平遍历 siblings() next() nextAll() nextUntil() pre ...

  2. sql null+字符=null

    哦,谢谢你,我还想问一个declare @temp varchar(10),@identity varchar(10),@sura varchar(10),@p int,@len int,@nod1  ...

  3. (转)python自动化测试之异常及日志

    为了保持自动化测试用例的健壮性,异常的捕获及处理,日志的记录对掌握自动化测试执行情况尤为重要,这里便详细的介绍下在自动化测试中使用到的异常及日志,并介绍其详细的用法. 一.日志 打印日志是很多程序的重 ...

  4. async-validator 表单验证注意事项

    1. this.$refs[formName].validate()里面的内容不执行 解决问题出处:https://segmentfault.com/q/1010000009679079 问题描述:1 ...

  5. BZOJ 4890: [Tjoi2017]城市 树形dp

    标签:树形dp,枚举,树的直径 一上来看到这个题就慌了,只想到了 $O(n^3)$ 的做法. 碰到这种题时要一步一步冷静地去分析,观察数据范围. 首先,$n\leqslant 5000$,所以可以先 ...

  6. CLR 调试体系结构

    公共语言运行时 (CLR) 调试 API 专门用作操作系统内核的一部分. 在非托管代码中,当程序生成异常时,内核将暂停执行进程,并使用 Win32 调试 API 将异常信息传递给调试器. CLR 调试 ...

  7. linux命令之------Find命令

    Find命令 1)作用:用来在指定目录下查找文件. 2)案例:将当前目录及其子目录下所有延申档名是c的文件列出来. Find -name “*.txt” 其中:*表示通配任意个字符:?表示通配单个字符 ...

  8. 利用window.open如何绕过浏览器拦截机制

    在浏览器的安全机制里,非用户触发的window.open方法是会被拦截的,例如: var btn = $('#btn'); btn.click(function () { // 算做用户触发,所以不会 ...

  9. 前端微信小程序云开发基础讲解

    什么是云开发 云开发与传统模式的对比 云开发能力介绍云开发对小程序开发的变革 云开发是微信团队联合腾讯云提供的原生serverless云服务,致力于帮助更多的开发者快速实现小程序业务的开发,快速迭代. ...

  10. pycharm+gitee【代码上传下载】实战(windows详细版)

    pycharm+gitee环境搭建好以后应该如何进行代码上传下载操作呢?举几个例子,此文会一直更新 环境:2019社区版pycharm+gitee+git 系统:windows系统 一.代码上传功能 ...