PHP7使用 MongoDB\Driver\Manager 类实现简单的增删改查操作

PHP7使用 MongoDB\Driver\Manager 类实现简单的增删改查操作

MongoDB 是一个由 C++ 语言编写的,基于分布式文件存储的数据库。官方号称是“现代应用程序中最流行的数据库”(The most popular database for modern apps)。

今天,我们 PHP7 使用 MongoDB\Driver\Manager 类来演示一下简单的增删改查操作。

查看 MongoDB 扩展文档,主要有一下几组类:

MongoDB\Driver // MongoDB驱动类 
MongoDB\BSON   // BSON 类型与序列化函数
MongoDB\Driver\Monitoring // 监控
MongoDB\Driver\Exception  // 异常

基本操作用的都是 MongoDB\Driver 下的操作类:

MongoDB\Driver\Manager   // 入口类,负责维护与MongoDB的连接,执行读写和命令
MongoDB\Driver\BulkWrite // 收集要发送到服务器的一个或多个插入、更新、删除等操作
MongoDB\Driver\Query  // 构造查询对象
MongoDB\Driver\Cursor // 封装MongoDB命令或查询的结果
MongoDB\Driver\WriteResult // 封装执行结果

准备

首先确保已经安装好了 php-mongodb 扩展。

$ php -m |grep mongodb
mongodb

查看当前 PHP 版本:

$ php -v
PHP 7.4.0beta4 (cli) (built: Aug 28 2019 11:41:49) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0beta4, Copyright (c), by Zend Technologies

创建一个 MongoDB 连接:

创建一个 mongodb.php 文件

<?php
// 连接 MongoDB 数据库
$manager = new MongoDB\Driver\Manager("mongodb://192.168.10.10:27017");
var_dump($manager);

如果连接正常会返回如下结果:

$ php mongodb.php
object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=> string(29) "mongodb://192.168.10.10:27017"
  ["cluster"]=> array(1) {
    [0]=> array(10) {
      ["host"]=> string(13) "192.168.10.10"
      ["port"]=> int(27017)
      ["type"]=> int(1)
      ["is_primary"]=> bool(false)
      ["is_secondary"]=> bool(false)
      ["is_arbiter"]=> bool(false)
      ["is_hidden"]=> bool(false)
      ["is_passive"]=> bool(false)
      ["last_is_master"]=> array(10) {
        ["ismaster"]=> bool(true)
        ["maxBsonObjectSize"]=> int(16777216)
        ["maxMessageSizeBytes"]=> int(48000000)
        ["maxWriteBatchSize"]=> int(100000)
        ["localTime"]=> object(MongoDB\BSON\UTCDateTime)#2 (1) {
          ["milliseconds"]=> string(13) "1592379129886"
        }
        ["logicalSessionTimeoutMinutes"]=> int(30)
        ["minWireVersion"]=> int(0)
        ["maxWireVersion"]=> int(7)
        ["readOnly"]=> bool(false)
        ["ok"]=> float(1)
      }
      ["round_trip_time"]=> int(0)
    }
  }
}

如果连接了一个不存在的地址,会返回如下结果。因为不管连接的地址存不存在,都会返回一个MongoDB\Driver\Manager对象:

$ php mongodb.php
object(MongoDB\Driver\Manager)#1 (2) { 
 ["uri"]=> string(30) "mongodb://192.168.10.102:27017" 
 ["cluster"]=> array(0) { } 
}

增:插入一些数据

使用 MongoDB\Driver\BulkWrite 类进行操作:

英文单词 bulk 大量 + write 写,就是大量的写入,即进行批量写入操作(insert, update, delete)。

$manager = new MongoDB\Driver\Manager("mongodb://192.168.10.10:27017"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Web后端技术

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值