Codeigniter MongoDB扩展之使用Aggregate实现Sum方法

以下就是我在使用 Codeigniter 的 MongoDB 扩展时,添加的一个扩展
就是使用 MongoDB 的 Aggregate 实现 Mysql 中的 Sum 方法

/* Controller.php */
$option = array (
    array (
            '$match' => array (
                    'match_1' => 'value_1',
                    'match_2' => 'value_2'
            )
    ),
    array (
            '$group' => array (
                    '_id'   => null,
                    'sum_1' => ['$sum' => '$amount_1'],
                    'sum_2' => ['$sum' => '$amount_2'],
                    'sum_3' => ['$sum' => '$amount_3']
            )
        )
);
$result = $this -> mongo_db -> aggregate('collection',   $option);
/* Mongo_db.php */
public function aggregate ($collection, $option = array())
{
    try {
            return $this -> db -> {$collection} -> aggregate($option);
    }
    catch (Exception $e) {
            show_error("Unable to aggregate Mongo Databases: {$e->getMessage()}", 500);
    }
}

时间: 2024-10-12 19:44:38

Codeigniter MongoDB扩展之使用Aggregate实现Sum方法的相关文章

Ubuntu下安装PHP的mongodb扩展操作命令_php技巧

在 https://pecl.php.net/package/mongo 下载 PHP的mongodb扩展的源码 复制代码 代码如下: $ wget -c https://pecl.php.net/get/mongo-1.6.9.tgz $ tar zxvf mongo-1.6.9.tgz $ cd mongo-1.6.9 $ phpize $ ./configure $ make all $ make test $ sudo make install        

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

本文将讲述一下在Wamp环境下安装MongoDB扩展的过程,大家可以略作参考 Linux 版本的可以参考之前发布的Linux安装PHP MongoDB扩展 安装环境 系统环境:Windows 7 64位 Apache版本:2.4.9 PHP版本:5.5.12 MongoDB版本:3.2.6 Wamp版本:wamp 2.5 64位 在windows下安装mongodb的扩展比Linux环境稍微复杂点 安装步骤 一.确定php的compiler 通过查看phpinfo()可以确定 从上图可以看到,C

mongodb 随机获取一条记录的方法_MongoDB

原理: 1.先查询表中的记录总数 2.随机获取偏移量为0~总记录数-1 3.查询时skip偏移量,再获取1条记录 因本人测试环境PHP已升级到7.0以上,mongodb扩展使用支持php7.0以上的扩展,很多方法与php5.6不同.因此代码必须在php7.0以上运行.如果是php5.6环境,需要修改代码才能运行. 代码如下: function.php <?php // 连接mongodb function conn($host, $user, $passwd){ $server = 'mongo

python将MongoDB里的ObjectId转换为时间戳的方法_python

本文实例讲述了python将MongoDB里的ObjectId转换为时间戳的方法.分享给大家供大家参考.具体分析如下: MongoDB里的_id字段前四位是时间戳的16进制表示,通过Python可以很容易从_id中提取出时间戳来 def timestamp_from_objectid(objectid): result = 0 try: result = time.mktime(objectid.generation_time.timetuple()) except: pass return r

Codeigniter购物车类不能添加中文的解决方法_php实例

本文实例讲述了Codeigniter购物车类不能添加中文的解决方法.分享给大家供大家参考.具体分析如下: 有朋友可能会发现Codeigniter 购物车类不能添加中文,我找了N久才发现下面一段代码限制了输入中文了,修改systemlibrariesCart.php,注释第186-190行产品名称的判断,代码如下: 复制代码 代码如下: if ( ! preg_match("/^[".$this->product_name_rules."]+$/i", $ite

Yii2中OAuth扩展及QQ互联登录实现方法_php实例

本文实例讲述了Yii2中OAuth扩展及QQ互联登录实现方法.分享给大家供大家参考,具体如下: 复制代码 代码如下: php composer.phar require --prefer-dist yiisoft/yii2-authclient "*" Quick start 快速开始 更改Yii2的配置文件config/main.php,在components中增加如下内容 'components' => [ 'authClientCollection' => [ 'cl

CodeIgniter使用smtp服务发送html邮件的方法_php实例

本文实例讲述了CodeIgniter使用smtp服务发送html邮件的方法.分享给大家供大家参考.具体如下: codeigniter 提供的email类,用于发送邮件, wiki地址: http://codeigniter.org.cn/user_guide/libraries/email.html 实际开发中遇到以下几个问题,总结一下: 1. wiki中说明是可以将配置文件单独提出来,email.php 放置到config文件夹下, 对于email.php 的配置,需要说明的几点: 1) 一般

jQuery基于扩展简单实现倒计时功能的方法_jquery

本文实例讲述了jQuery基于扩展简单实现倒计时功能的方法.分享给大家供大家参考,具体如下: jQuery.fn.countDown = function(settings,to) { settings = jQuery.extend({ startFontSize: '36px', endFontSize: '12px', duration: 1000, startNumber: 10, endNumber: 0, callBack: function() { } }, settings);

《中国人工智能学会通讯》——11.57 基于扩展信息的移动App分类方法

11.57 基于扩展信息的移动App分类方法 移动 App 在移动用户的日常生活中扮演着十分重要的角色,通过研究其使用记录可以帮助深入理解用户的兴趣偏好,并且能够促成许多潜在的智能应用服务,例如移动 App 推荐.移动用户定向广告.移动用户市场分析等. 然而,我们在实践中发现,直接来自于移动App 的信息通常非常有限并且语义模糊.例如一个用于分析用户偏好的模型很难清晰地理解 App 使用记录:"用户正在玩 Angry Birds",除非相应的App 能够被识别为一个预先设定好的语义类别