`
alfred_long
  • 浏览: 566227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php Mongodb扩展使用

    博客分类:
  • PHP
阅读更多

mongodb官方推荐扩展

查找数据

$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$filter = [hid=>1];
$options = array(
    "projection" => array(
        "hid" => 1,
        "total" => 1,
    ),
    "sort" => array(
        "total" => -1,
    ),
    "modifiers" => array(
        '$comment'   => "This is a query comment",
        '$maxTimeMS' => 100,
    ),
    "skip" => 2,
    "limit" => 1,
);
$query = new MongoDB\Driver\Query($filter,$options);
$cursor = $manager->executeQuery("aka.test", $query);
var_dump($cursor->toArray());exit;

 

count统计

$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$commands = [ 
    'count' => "test", 
    'query' => [
        //'hid'=>['$eq'=>1]
        'hid'=>['$lt'=>3]
    ],  
];
$command = new MongoDB\Driver\Command($commands);
$cursor = $manager->executeCommand("aka", $command);
var_dump($cursor->toArray());exit;

 

聚合查询

$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$date = '2016-01-11';
$startime = $date. ' 00:00:00';
$endtime = $date. ' 23:59:59';
$commands = [ 
    'aggregate' => "test", 
    'pipeline' =>[
        ['$match'=>['createtime'=>['$gte'=>$startime, '$lte' => $endtime]]],
        ['$group'=>['_id'=>'$hid','total'=>['$sum'=>'$total']]],
    ]
];
$command = new MongoDB\Driver\Command($commands);
try{
    $cursor = $manager->executeCommand("aka", $command);
}catch(Exception $e){
    //无法连接数据库 异常处理
    echo "MongoDB Connection Error";exit;
}
$response = $cursor->toArray()[0]->result;
foreach($response as $v) {
    echo $v->_id.':'.$v->total."\n";
}

 

数据插入|修改|删除

  • 插入数据
$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);//顺序or并行发送到服务器执行
$bulk->insert(
  ['id' => 3, 'total'=> 5]
);
$bulk->insert(
  ['id' => 4, 'total'=> 8]
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('aka.test', $bulk, $writeConcern);
var_dump($result);

 

  • 修改数据
$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);//顺序or并行发送到服务器执行
$bulk->update(
  ['hid' => 3], 
  ['$set' => ['total' => 1000]],
  ['multi' => true, 'upsert' => true] //multi多个结果修改,upsert如果不存在就插入
);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('aka.test', $bulk, $writeConcern);
var_dump($result);

 

  • 删除数据
$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);//顺序or并行发送到服务器执行
$bulk->delete(['hid'=>1]);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('aka.test', $bulk, $writeConcern);
var_dump($result);

 

增删改查可以放在一起

$connectString = 'mongodb://127.0.0.1:27017/aka';
$manager = new MongoDB\Driver\Manager($connectString);
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);//true顺序 false 并行发送到服务器执行

$bulk->insert(
    ['hid' => 3, 'total'=> 5]
);
$bulk->insert(
    ['hid' => 4, 'total'=> 8]
);

$bulk->update(
    ['hid' => 3], 
    ['$set' => ['total' => 1000]],
    ['multi' => true, 'upsert' => true] //multi多个结果修改,upsert如果不存在就插入
);

$bulk->delete(['hid'=>1]);

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('aka.test', $bulk, $writeConcern);
var_dump($result);

 

参考资料:
php.net
doc.mongodb.org

分享到:
评论

相关推荐

    PHP mongodb扩展线程安全64位

    PHP mongodb扩展使用VC14编译意味着它与Windows上的Microsoft Visual Studio 2015工具链兼容。这样的编译选项通常与Windows上的PHP版本匹配,确保了与PHP运行时环境的兼容性。 **64位(X64)** 64位版本的PHP和扩展...

    php配置mongodb扩展、安装mongodb服务教程

    配置 PHP 的 MongoDB 扩展是使用 MongoDB 数据库的前提条件。下面是配置 PHP 的 MongoDB 扩展的步骤: 1. 查看 PHP 版本:首先,需要查看 PHP 的版本号和 Architecture 项(x86 或 x64),以及 PHP Extension Build...

    php7.0之mongodb扩展dll文件,32位和64位

    本文将深入探讨PHP7.0与MongoDB的集成,特别是关于PHP7.0的mongodb扩展DLL文件,包括32位(win32)和64位(win64)版本。MongoDB是一个高性能、开源的NoSQL数据库,它使用文档型数据模型,特别适合处理大量结构化和...

    mongodb + php扩展文件

    PHP是广泛用于Web开发的脚本语言,它有一个专门的MongoDB扩展,允许开发者直接在PHP中操作MongoDB数据库。这个压缩包包含了针对Windows 32位系统的MongoDB服务器的2.0.3版本以及PHP的MongoDB扩展,支持PHP 5.3和5.4...

    php7.2的mongodb扩展

    MongoDB扩展通常遵循PHP的开放源代码许可证,如PHP License或MIT License,这允许用户自由地使用、修改和分发代码,但可能需要遵守一定的条款,例如保留原始作者的版权信息。 **README.md** `README.md`是项目的...

    mongodb driver 集成mongo和mongodb扩展 log.php 发送日志类

    "集成mongo和mongodb扩展"通常是指在代码中同时使用了旧的mongo扩展和新的mongodb扩展。虽然不推荐,但在过渡期间可能有必要这样做,以确保与旧代码库的兼容性。新的mongodb扩展设计时考虑到了向后兼容,但仍然建议...

    php7 下mongodb扩展

    php7下的mongodb扩展,是window下的64位;不太好找,所以分享给大家!php7下的mongodb扩展,是window下的64位;不太好找,所以分享给大家!

    php7.1版本安装mongodb扩展踩坑笔记

    最后,使用 `php -m` 命令检查是否成功加载了 MongoDB 扩展: ```bash php -m ``` #### 思考与建议 - **PECL 配置调整** 有一种方法是通过修改 PECL 的配置来支持不同版本的 PHP 安装扩展,但实际操作过程...

    Linux服务器安装PHP MongoDB扩展的方法

    本文将讲述一下本人安装MongoDB扩展的过程,大家可以略作参考 安装环境 Linux环境:CentOS 6.5 Apache版本:2.4 PHP版本:5.4.3 MongoDB版本:2.6.5 一、下载Mongo-php扩展安装包 可以从Github上面下载,地址是...

    php5.3.8_64位_vc9,mongoDB扩展

    php5.3.8 mongoDB 1.3.3 扩展 64位,vc9,win7

    php-mongodb扩展动态库mongodb.so

    php7.2.17版本mongodb扩展动态库mongodb.so

    php操作MongoDB使用说明

    在PHP中操作MongoDB数据库主要依赖于PHP的MongoDB扩展。MongoDB是一个基于分布式文件存储的NoSQL数据库系统,适合处理大量数据并提供高可用性和高性能。本文将详细介绍如何使用PHP连接MongoDB、选择数据库、操作集合...

    php5.6mongo扩展

    在 PHP 5.6 中,使用的驱动是 PHP MongoDB PECL 扩展,它提供了一系列的类和方法来管理连接、数据库和集合。 2. **MongoClient 类**:这是连接到 MongoDB 服务器的主要入口点。通过实例化 MongoClient,你可以指定...

    JackYang3567#gitbook#php开启MongoDB扩展1

    1、下载mongodb扩展 2、安装mongodb扩展 3、修改php.ini配置文件来让PHP加载这个扩展

    php_mongodb-1.2.9-7.1-nts-vc14-x86

    标题 "php_mongodb-1.2.9-7.1-nts-vc14-x86" 暗示这是一个针对PHP的MongoDB扩展,版本为1.2.9,适用于PHP 7.1,是非线程安全(NTS)版本,且是为Visual C++ 14编译的32位(x86)架构。这个扩展让PHP程序员能够与...

    php7安装mongodb扩展.txt

    php7安装mongodb扩展.txt

    php_mongoDB的拓展dll文件v5.2-5.3

    标题"php_mongoDB的拓展dll文件v5.2-5.3"指出这是一个适用于PHP版本5.2到5.3的MongoDB扩展的动态链接库(DLL)文件。DLL是Windows操作系统中的一个关键组件,它包含可由多个程序同时使用的代码和数据。对于PHP,DLL...

    linux中给PHP安装mongodb的扩展.docx

    在Linux环境中为PHP安装MongoDB扩展是连接MongoDB数据库的关键步骤。MongoDB是一个流行的NoSQL...遵循这些步骤,你将能够成功地在Linux上为PHP安装MongoDB扩展,从而能够使用PHP开发与MongoDB数据库交互的应用程序。

    PHP操作MONGODB详细文档 WORD版

    首先,我们需要安装PHP的MongoDB扩展,这通常是通过PECL(PHP Extension Community Library)来完成的。安装完成后,我们可以创建MongoDB客户端对象,这是连接到MongoDB服务器的基础。例如: ```php $mongoClient =...

    php windows下安装mongodb服务

    本教程将详述如何在WAMP(Windows、Apache、MySQL、PHP)服务器环境中安装PHP的MongoDB扩展,并将其配置为系统服务以便自动启动。 首先,我们需要了解一些基本概念。PHP是一个流行的开源脚本语言,广泛用于Web开发...

Global site tag (gtag.js) - Google Analytics