php7+操作 MongoDB4.0

2023-05-16

php7+ 操作 MongoDB4.0

一、连接MongoDB服务

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");

二、添加数据

//实例化一个添加类
$bulk = new MongoDB\Driver\BulkWrite;
//添加你要添加的数据 可以是对象可以是数组
$bulk->insert(['name'=>'zzr,'age'=>'19']);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
//第一个参数的格式 数据库.集合名
$res = $mongo->executeBulkWrite('admin.admin',$bulk,$writeConcern);
var_dump($res);

这时我们看到数据已经成功添加进来了

三、查询数据

$query = new MongoDB\Driver\Query(['name'=>"zzr"]);
//这里的admin.admin 也是数据库.集合名
$cursor = $mongo->executeQuery('admin.admin',$query);
$data = [];
foreach($cursor as $doc) {
    $data[] = $doc;
}
ec![](/uploads/article/20190515/5cdbbcc6e213c.png)ho '<pre>';
print_r($data);

四、修改数据
//修改数据

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
    ['name' => 'zzr','age'=>"19"],
    ['$set' => ['name' => 'zzr1','age'=>"17"]]
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
$res = $mongo->executeBulkWrite('admin.admin', $bulk, $writeConcern);
echo '<pre>';
print_r($res);

这是我们看到数据已经变成了我们想要的样子
敲黑板 记重点

这里我们发现我们有三条数据都是满足要改变的条件,但是mango只给我们改变了第一条符合条件的数据,如果我们再执行一次程序,那么下一条符合条件的文档也会被修改
五、删除数据

$bulk = new MongoDB\Driver\BulkWrite;

//这里我们删除刚刚修改成年龄为17的文档

$bulk->delete(['name' => 'zzr1','age'=>"17"]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可选,修改确认
$res = $mongo->executeBulkWrite('admin.admin', $bulk, $writeConcern);
echo '<pre>';
print_r($res);

这里我们看到数据已经被成功的删除了,但是当有多个文档同时满足我们的删除条件时,我们的mongo仍会优先删除第一个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php7+操作 MongoDB4.0 的相关文章

随机推荐

  • DevTools failed to parse SourceMap 警告解决方法

    最近在用webpack dev server进行开发的过程中 xff0c 控制台一直报一个警告 xff1a DevTools failed to parse SourceMap webpack node modules sockjs cli
  • React Developer Tools安装使用

    当项目中使用到了React时 xff0c 在Chrome浏览器运行时控制台会打印 xff1a Download the React DevTools for a better development experience https fb
  • 实现AntDesign组件的按需导入

    昨天我们演示了如何为React项目启用AntDesign组件 xff0c 现在回顾一下 xff0c 引入方法为 xff1a span class token keyword import span span class token punc
  • 三分钟搭建React + Electron开发环境

    三分钟搭建React 43 Electron开发环境 背景创建React项目添加Electron包相关配置项目根目录下新建main js配置package json启动electron 启动效果 背景 先前的博客中介绍过怎么通过Webpac
  • 快速打包React+Electron项目

    背景 上一篇博客介绍了如何快速搭建React 43 Electron的开发环境 xff0c 简单应用开发完毕后需要打包成应用程序 xff0c 比如你需要把你开发的App发给其他人使用 下面基于上一篇博客内容进一步介绍如何打包 xff1a 打
  • 在Dart中使用FFI调用Rust函数

    什么是FFI 外部函数接口 FFI 是一种机制 xff0c 通过该机制 xff0c 以一种编程语言编写的程序可以调用以另一种编程语言编写的服务 当你需要额外的速度 x1f680 或需要使用其他语言的库时 xff0c 应用FFI会很方便 为什
  • Qt6播放音频文件

    Qt6中已经没有QSound类 xff0c 播放音频需要使用QSoundEffect类 首先在 pro文件中添加multimedia模块 使用方法 xff1a include span class token operator lt spa
  • 牛客NC61 两数之和

    题目描述 给出一个整型数组 numbers 和一个目标值 target xff0c 请在数组中找出两个加起来等于目标值的数的下标 xff0c 返回的下标按升序排列 xff08 注 xff1a 返回的数组下标从1开始算起 xff0c 保证ta
  • 牛客HJ20 密码验证合格程序

    描述 密码要求 1 长度超过8位 2 包括大小写字母 数字 其它符号 以上四种至少三种 3 不能有长度大于2的包含公共元素的子串重复 xff08 注 xff1a 其他符号不含空格或换行 xff09 输入描述 xff1a 一组字符串 输出描述
  • React useEffect vs useLayoutEffect

    两者的区别 两者的函数签名是一样的 xff0c 即用法一样 两者的区别在于执行时机不同 useEffect是在DOM的变化渲染到屏幕后异步执行的useLayoutEffect是在DOM变化后渲染前同步执行的 因此从执行时机上看 xff0c
  • 单片机产生二维8*8随机数

    代码可运行 span class token keyword void span span class token function Random span span class token punctuation span span cl
  • React useCallback 函数使用说明

    React 中useCallback的作用 xff1a 函数相等性检查 useCallback 的函数原型 xff1a useCallback callbackFun deps 如果deps给出的依赖值不变 xff0c 则useCallba
  • thinkpad t400在fedora 17上风扇转速调整

    作者 xff1a bigluo 转自 xff1a http blog chinaunix net uid 796091 id 3282943 html 在t400上安装了fedora 17 在编译代码的时候经常碰到下面的严重警告 xff0c
  • Python 把秒数转换为xx:xx:xx的时间格式

    题目要求是将给出的秒数转化为xx xx xx的格式 xff0c 最大秒数默认不超过359999 xff0c 即99 59 59 解题思路是利用除法的取整和取余运算 xff0c 从最高位计算到最低位 xff0c 只需根据题设注意时分秒各自的进
  • warning : 无法找到 v142 的生成工具。安装 v142 可使用 v142 生成工具进行生成。

    我使用的是vs2017 xff0c 同伴的是vs2019 xff0c 他发送了他写的项目给我 xff0c 因为使用的vs版本不同 工具集不同 xff0c 导致项目在我的电脑上编译会有如下报错 xff1a warning 无法找到 v142
  • 用栈判断是否是回文

    用栈判断是否是回文 栈 xff1a 仅在表尾进行插入和删除操作的线性表 先进后出 用例 xff1a 1 上海自来水来自海上 2 1234321 3 123321 4 112233 5 123332 思路 xff1a 直接入栈一半的元素 xf
  • VirtualBox安装Arch Linux

    xff08 转载自http www aichengxu com view 34792 xff0c 略有改动 xff09 所有步骤用于指导新手完成archlinux在虚拟机上的安装 xff0c 安装选择未必最优 xff0c 但尽力做到减少新手
  • KEIL UV5 一模一样的程序,编译突然就有问题了

    原来是系统时间调到2000年 xff0c 没有调回来 把时间调回来就可以了
  • 简单选择排序——C语言实现

    选择排序思想 xff1a 若按照递增顺序对顺序表进行排列 xff0c 在n个元素的顺序表中 xff0c 从第i xff08 i 61 1 xff09 个元素开始遍历到第n 1个元素 xff0c 在遍历过程中都将第i个元素依次与第i 43 1
  • php7+操作 MongoDB4.0

    php7 43 操作 MongoDB4 0 一 连接MongoDB服务 mongo 61 new MongoDB Driver Manager 34 mongodb localhost 27017 34 二 添加数据 实例化一个添加类 bu