PHP7 MongoDB 安装与使用

2023-05-16

PHP7 Mongdb 扩展安装

    我们使用 pecl 命令来安装:

$ /usr/local/php7/bin/pecl install mongodb


   执行成功后,会输出以下结果:

……
Build process completed successfully
Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.1.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongodb.so" to php.ini

   接下来我们打开 php.ini 文件,添加 extension=mongodb.so 配置。

   可以直接执行以下命令来添加。

echo "extension=mongodb.so" >> `/usr/local/php7/bin/php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

   注意:以上执行的命令中 php7 的安装目录为 /usr/local/php7/,如果你安装在其他目录,需要相应修改 pecl 与 php 命令的路径。

 

Mongodb 使用

   PHP7 连接 MongoDB 语法如下:

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

插入数据

   将 name 为"自学教程" 的数据插入到 test 数据库的 runoob 集合中。

<?php
$bulk = new MongoDB\Driver\BulkWrite;
$document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => '菜鸟教程'];

$_id= $bulk->insert($document);

var_dump($_id);

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);
?>

读取数据

<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  

// 插入数据
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1, 'name'=>'baidu', 'url' => 'http://www.baidu.com']);
$bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.com']);
$bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.com']);
$manager->executeBulkWrite('test.sites', $bulk);

$filter = ['x' => ['$gt' => 1]];
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['x' => -1],
];

// 查询数据
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('test.sites', $query);

foreach ($cursor as $document) {
    print_r($document);
}
?>

 

更新数据

 

<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
    ['x' => 2],
    ['$set' => ['name' => '菜鸟工具', 'url' => 'tool.runoob.com']],
    ['multi' => false, 'upsert' => false]
);

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
?>

删除数据

<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete(['x' => 1], ['limit' => 1]);   // limit 为 1 时,删除第一条匹配数据
$bulk->delete(['x' => 2], ['limit' => 0]);   // limit 为 0 时,删除所有匹配数据

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
?>

参考:

https://www.yuque.com/docs/share/d02e9a3f-ee36-44d8-8307-d359ac8f459e

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

PHP7 MongoDB 安装与使用 的相关文章

  • 卷积神经网络的旋转不变性理解

    卷积神经网络本身的设计对旋转不变性没有进行专门的考虑 xff0c 只不过max pooling可以稍微补偿一下这个功能 xff0c 只是角度变化太大 xff0c 可能会作用不大 xff0c 但因为max pooling并不是为此而设计的 x
  • VS code + Win10 Linux子系统(Ubuntu)开发ESP32

    Windows开发ESP32 最近在研究EPS32 xff0c 但是和STM32之类的单片机不同 xff0c 国内资料大多是在arduino上的简单修改 xff0c 想开发底层硬件比较困难 xff1b 而官方提供的eclipse集成环境体积
  • malloc和calloc的区别

    malloc和calloc的区别有两点 xff1a 两个函数的参数不一样 malloc只有1个参数 xff0c 而calloc有两个参数内存分配后初始化不一样 calloc会把分配的内存全部初始化为0 xff0c 而malloc没有初始化操
  • ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

    欢迎关注大数据和人工智能技术文章发布的微信公众号 xff1a 清研学堂 xff0c 在这里你可以学到夜白 xff08 作者笔名 xff09 精心整理的笔记 xff0c 让我们每天进步一点点 xff0c 让优秀成为一种习惯 xff01 有时候
  • CSDN完整导出pdf博客内容,去除冗余,仅保留blog

    本文完全参考自其它博客 xff1a 新CSDN文章转成PDF 打印 去空白 IT说的博客 CSDN博客 如何将CSDN的文章导出为pdf xff1f 我的blog屋 CSDN博客 csdn导出pdf 原博客代码执行后还保留了博客作者栏 xf
  • WSL2连接调用USB设备

    声明 xff1a 本文教程来源于微软官网WSL教程 xff0c 链接地址 xff1a Connect USB devices 最近在学OpenCV xff0c 发现微软的WSL是个好东西 xff0c 结合VS Code编辑器 xff0c 无
  • 树莓派使用code-server遇到的问题

    code server在树莓派上使用是没有问题的 xff0c 只要保证树莓派系统较新 xff0c 一般不会遇到什么问题 1 以下一系列出现的问题 xff0c 都与系统环境比较旧有关 xff1a code进程一直100 占用CPU浏览器建立V
  • Mysql插入JSON串会被去一层转义

    Mysql插入JSON串会被去一层转义 问题描述 背景 xff1a 在数据库更新 新增一个字段为JSON串的时候 xff0c 被去一层转义 xff0c 导致程序解析失败 xff0c 报错 原JSON串 span class token pu
  • VS保存并生成解决方案

    一个小技巧 xff0c 提高开发效率 xff0c 使开发更迅速 为您节约更多时间 xff0c 去陪恋人 家人和朋友 背景 xff1a 使用VS工具开发 调试时需要右键项目 xff0c 生成或者重新生成解决方案 而时常大脑高速运作 xff0c
  • mysql分组排序取第一条数据

    需求 xff1a mysql 根据某一个字段分组 xff0c 然后组内排序 xff0c 最后每组取排序后的第一条数据 1 先使用 xff08 分组字段 43 排序字段 xff09 排序 相当于实现了分组和排序 xff0c 只是没有根据分组字
  • 设置 edge 浏览器跨域

    执行下面两条命令 xff0c 然后重启edge span class token string 34 C Program Files x86 Microsoft span class token entity title E span dg
  • 最简单的基于FFmpeg的AVfilter例子(水印叠加)

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • FFmpeg源代码简单分析:avio_open2()

    61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61
  • n6005/n5105在debian11实现jellyfin硬解

    n6005 n5105在debian11实现jellyfin硬解 inter集成显卡debian11默认不支持硬解 xff0c 可按以下方式正确开启 1 环境 软件 delbian11 硬件 n6005 docker环境 安装jellyfi
  • ModuleNotFoundError: No module named 'cv2'

    ModuleNotFoundError No module named 39 cv2 39 解决方法 xff1a pip install opencv python
  • C++实现链表逆序

    链表的结构 lt pre name 61 34 code 34 class 61 34 html 34 gt lt pre name 61 34 code 34 class 61 34 cpp 34 gt struct listnode i
  • 初始化我的archlinux

    初始化我的archlinux 进入tty模式 xff0c ctrl 43 alt 43 f12 设置镜像 sudo vim etc pacman conf 开机archlinuxcn manjaro archlinuxcn The Chin
  • C语言实现Split函数

    借助C语言的动态内存分配 xff0c 实现类似VB中Split函数的效果 结构体介绍 xff1a IString xff1a 参数 str 字符串数组的指针 参数 num 字符串个数 函数介绍 功能 xff1a 按一个字符来拆分字符串 参数
  • openWrt从源码下载到编译(开发环境搭建)

    更新 xff1a 最近openwrt SVN失效了 xff0c 不过官方有新的教程 https wiki openwrt org zh cn doc howto buildroot exigence OpenWrt编译系统 安装 OpenW
  • Linux操作GPIO(文件IO方式)

    首先 xff0c 看看系统中有没有 sys class gpio 这个文件夹 如果没有请在编译内核的时候加入 Device Drivers gt GPIO Support gt sys class gpio sysfs interface

随机推荐

  • 斐讯路由器K2最新刷机教程

    最新版固件无法刷机让人很头疼 xff0c 我们需要先手动降级 xff0c 把固件刷回以前版本 xff0c 再用刷机工具进行刷机 1 登录路由器找到如下界面 下载这个文件SW K2 703004604 V21 4 6 12 bin 在上面界面
  • Linux C Socket UDP编程介绍及实例

    1 UDP网络编程主要流程 UDP协议的程序设计框架 xff0c 客户端和服务器之间的差别在于服务器必须使用bind 函数来绑定侦听的本地UDP端口 xff0c 而客户端则可以不进行绑定 xff0c 直接发送到服务器地址的某个端口地址 框图
  • Base64编码、解码 C语言例子(使用OpenSSL库)

    include lt stdio h gt include lt string h gt include lt unistd h gt include lt openssl pem h gt include lt openssl bio h
  • 用C语言实现websocket服务器

    Websocket Echo Server Demo 背景 嵌入式设备的应用开发大都依靠C语言来完成 xff0c 我去研究如何用C语言实现websocket服务器也是为了在嵌入式设备中实现一个ip camera的功能 xff0c 用户通过网
  • 解决QCamera使用QCameraImageCapture截图卡顿问题

    卡顿原因 xff1a QCameraImageCapture每次调用capture xff0c 无论你是否输入路径 xff0c 都会将捕获的图片存盘 xff0c 存盘的速度慢导致卡顿 解决思路 xff1a 将捕获的图片输出到内存缓冲区而不存
  • tmux使用手记

    tmux 指令操作 session 会话 xff1a session是一个特定的终端组合 输入tmux就可以打开一个新的session tmux new s session name 创建名为 session name 的 tmux ses
  • Oracle中to_char()函数的用法

    Oracle中to char 函数的用法 日期转换 xff1a to char date 39 格式 39 select to date 39 2005 01 01 39 39 yyyy MM dd 39 from dual select
  • terminator安装及常用操作

    terminator 安装 sudo add span class hljs attribute apt span span class hljs attribute repository span ppa gnome span class
  • 嵌入式硬件开发基础(持续更新)

    电阻 理论基础 电阻的定义 电荷在导体中运动时 xff0c 形成电流 导体中的分子 原子等其他粒子阻碍电荷移动 xff0c 进而阻碍电流这种阻碍作用 xff0c 我们称之为电阻 欧姆定律 经典公式 xff1a I 61 U
  • Hadoop Shell基本操作

    Hadoop Shell 基本操作 任务目标 1 熟练掌握常用的hadoop shell命令 相关知识 调用文件系统 FS Shell命令应使用 hadoop fs lt args gt 的形式 所有的的FS shell命令使用URI路径作
  • linux系统添加根证书 linux证书信任列表

    1 linux 访问 https 证书问题 root 64 boss test dev001 jydx curl v https mobile mycard520 com tw About to connect to mobile myca
  • 客户端和服务器端交互模型

    当我们在浏览器中输入一个地址 xff0c 到最后看到页面 xff0c 中间都经历了哪些事情 xff1f 假设我们访问的是https fanguvw xyz 这个地址 xff0c 当我们摁下Enter键 xff0c 我们可以看到博客首页 xf
  • PostgreSQL ERROR: no partition for partitioning key

    问题 xff1a Error updating database Cause org postgresql util PSQLException ERROR no partition for partitioning key seg1 se
  • 关于STM32的寄存器操作学习

    xff08 注 xff1a 此为乐某学习记录 xff0c 若有出错的地方欢迎各位指出 xff01 xff09 前言 本人使用的开发板的芯片是STM32H743XIH6 xff0c 所以也是根据此芯片来进行操作 一 寄存器 在STM32的学习
  • 大数据—Hadoop生态圈

    前言 整理了一下目前常用的hadoop组件 xff0c 后续将会对这些组件的具体应用场景和使用细节进行展开分析 如果大家发现有更好的建议欢迎大家在下方留言 生态圈 数据存储 xff1a HDFS HDFS xff0c 它是 Hadoop 技
  • byte与其他类型之间的强制转换

    强制类型转换 强制类型转换 xff0c 也称显式类型转换 xff0c 是指必须书写代码才能完成的类型转换 该类类型转换很可能存在精度的损失 xff0c 所以必须书写相应的代码 xff0c 并且能够忍受该种损失时才进行该类型的转换 l 转换规
  • Linux服务器离线安装Gitlab

    1 下载 1 1 网址 xff1a https mirrors tuna tsinghua edu cn gitlab ce yum el7 1 2 选择版本 2 安装 2 1 将安装包上传到服务器 2 2 检查相关依赖是否安装 使用命令
  • PTA从键盘输入n个整数,求出这n个数的平均值及其中的最大数和最小数。 从键盘输入一个正整数,要求编程实现以下功能: 求出这个数是几位数,并输出其位数; ② 输出这个数的逆序数。

    题目一 从键盘输入n xff08 3 lt 61 n lt 61 20 xff09 个整数 xff0c 求出这n个数的平均值及其中的最大数和最小数 输入格式 在第一行输入一个介于3至20之间的整数n xff0c 在第二行输入n个整数 xff
  • swift tableview cell自适应高度

    自适应高度达到的效果 实现方法 xff1a 1 xcode新建个项目 xff0c 选择 single View Application 2 打开main storyboard 将tableview 拖到view controller中 xf
  • PHP7 MongoDB 安装与使用

    PHP7 Mongdb 扩展安装 我们使用 pecl 命令来安装 xff1a usr local php7 bin pecl install mongodb 执行成功后 xff0c 会输出以下结果 xff1a Build process c