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

$cond统计个数

 
阅读更多
{ $cond: [ <boolean-expression>, <true-case>, <false-case> ] }
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 01, 2013'), "status": "success"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 01, 2013'), "status": "success"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 01, 2013'), "status": "error"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 01, 2013'), "status": "unavailable"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 02, 2013'), "status": "success"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 02, 2013'), "status": "error"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 02, 2013'), "status": "error"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 02, 2013'), "status": "unavailable"})
db.activity.insert({"userUrl": "http://news.bbc.co.uk", "userAddress" : "1.2.3.4", "requestTime" : new Date('Jan 02, 2013'), "status": "unavailable"})

db.activity.aggregate(
    { $group: {
        _id: { date: '$requestTime' },
        success : {
            $sum: { $cond: [ { $eq: [ 'success', '$status' ] } , 1, 0 ] }
        },
        error : {
            $sum: { $cond: [ { $eq: [ 'error', '$status' ] } , 1, 0 ] }
        },
        unavailable : {
            $sum: { $cond: [ { $eq: [ 'unavailable', '$status' ] } , 1, 0 ] }
        }
    } }
);

结果
{
    "result" : [
        {
            "_id" : {
                "date" : ISODate("2013-01-02T00:00:00Z")
            },
            "success" : 1,
            "error" : 2,
            "unavailable" : 2
        },
        {
            "_id" : {
                "date" : ISODate("2013-01-01T00:00:00Z")
            },
            "success" : 2,
            "error" : 1,
            "unavailable" : 1
        }
    ],
    "ok" : 1
}

 

分享到:
评论

相关推荐

    mongoTemplate实现统计和分组

    在工作中,我们可能需要根据不同的条件对数据进行分组和统计,例如根据党支部名称进行分组,统计出党支部内人员的数目,每个党支部应缴党费和实缴党费的总和等统计信息。 但是,在使用 spring-data-mongodb-1.9.5....

    mongodb中按天进行聚合查询的实例教程

    在本实例中,我们面临的问题是如何以天为单位统计每天成功和失败的用例。通常,当时间字段存储为ISODate格式时,直接使用时间字段作为分组依据会因为时间精确到毫秒而导致无法实现按天的统计。 为了解决这个问题,...

    基于MATLAB的LU高斯消元法求解线性方程组代码,与矩阵求逆方法的对比,条件数的统计

    在`genmattest.m`文件中,我们可能看到如下代码用于统计条件数: ```matlab condition_number = cond(A); ``` 条件数越大,表示矩阵越接近奇异,使用矩阵求逆法求解线性方程组时就越不稳定。因此,对于条件数较大的...

    文华财经主要函数学习

    `COUNT(COND,N)`用于统计在`N`个周期内满足条件`COND`的周期数。该函数可以帮助我们量化特定市场条件出现的频率。 **特点**: 1. **周期起点**:如果`N`为0,则从第一个有效值开始计算。 2. **不足周期**:如果当前...

    多线程实现文件中字母数字及其他字符的分配

    解决这些问题通常需要仔细设计同步机制,如互斥锁(`pthread_mutex_t`)、信号量(`pthread_semaphore_t`)或条件变量(`pthread_cond_t`)。你可以在适当的位置添加这些同步原语,以确保线程间的正确协作。 在你的...

    cbj.rar_READ cdr_lisp_lisp圆_圆 统计

    为了实现这个功能,Lisp代码可能会使用条件语句(如`if`或`cond`)、循环(如`do`或`dotimes`)以及数据结构(如列表或哈希表)来存储和更新直径的计数。哈希表在这里特别有用,因为它们提供了快速的查找和更新操作...

    C语言实现简单线程池.zip

    7. **同步机制**:为了保证线程安全,我们需要使用互斥锁(`pthread_mutex_t`)和条件变量(`pthread_cond_t`)来同步对任务队列的操作。当线程尝试添加任务或从队列中获取任务时,必须先获得互斥锁,完成操作后再...

    2014年应用高等工程数学1

    - 条件数:对于非奇异矩阵A,条件数cond(A)衡量了矩阵操作的稳定性。当A为正交矩阵时,cond(A)=1,表示操作是稳定的。 3. **数值分析**: - 近似值:有效数字表示数值的精确度。如果59923606797742.5,近似值2...

    Anaconda3-2024.02-1-Linux-aarch64

    Anaconda3附带了数百个最流行的数据科学软件工具和库,其中包括NumPy、Pandas、Matplotlib、SciPy、Jupyter Notebook等。无论是处理海量数据,还是进行复杂的统计计算,Anaconda3都能提供强有力的支持。其内置的包...

    数学实验2015年_7893048141

    矩阵条件数衡量了矩阵A乘以一个向量后放大误差的程度,对于方程组bAx = 50n,2范数条件数cond(A) = ||A|| ||A^-1||,其中||·||表示2范数。高斯-赛德尔迭代法用于求解线性方程组,迭代矩阵GB的谱半径决定了收敛速度...

    linux_count_time_api.rar_Linux 时间 API

    这个API用于获取当前系统时间(自1970年1月1日00:00:00 UTC以来的秒数)。例如: ```c #include time_t current_time; current_time = time(NULL); ``` 接下来是`clock_gettime(2)`,它提供高精度时间,能够返回...

    MATLAB经典上机实例50题及详细答案-Matlab上机题库及详细答案_.pdf

    #### 知识点一:求数字区间内特定条件下的数字个数 - **题目描述**: - 在指定的数字范围内(本例为[100, 999]),找出能被特定数字(本例为21)整除的所有数字的数量。 - **代码解析**: - 使用`clc;clear;`清除...

    MATLAB数值方法命令

    另外,`cond(A, 1)` 和 `cond(A, inf)` 分别表示在1范数和无穷范数下的条件数。 #### 二、矩阵特征值和特征向量的计算 **求特征值和特征向量** 特征值和特征向量在许多数学问题中都有广泛应用。 **命令**: `eig`...

    MATLAB)课后实验答案1.docx

    - 矩阵的条件数是衡量矩阵数值稳定性的一个指标,通过`cond(A)`计算。 2. 线性方程组与条件数: - 线性方程组的求解可以用MATLAB的`linsolve`或高斯消元等方法。 - 条件数`cond(A)`分析了系数矩阵的稳定性,大的...

    操作系统课程设计(读者-写者问题)

    一个锁用于保护写者,另一个锁用于统计当前正在阅读的读者数量。计数信号量表示是否有写者正在写入。 5. **死锁和饥饿**:在设计并发程序时,需要避免可能出现的死锁(多个线程相互等待对方释放资源导致的僵局)和...

    近三年高等工程数学真题(PDF版)1

    5. **条件数**:非奇异矩阵A的条件数\(cond(A)\)衡量了矩阵操作的稳定性,对于正交矩阵,条件数为1,因为它们的逆矩阵就是其转置。 6. **有效数字和四舍五入**:这部分涉及到数值计算的精度问题,给定的近似值有5位...

    msmbuilder:生物分子动力学统计模型

    MSMBuilder是一个python软件包,它为高维时间序列实现了一系列统计模型。 它特别专注于生物分子动力学的原子模拟的分析。 例如,MSMBuilder已用于通过分子动力学(MD)模拟对蛋白质折叠和构象变化进行建模。 LGPL...

    实用Matlab库函数(全)

    * `cond`: (逆)条件数 * `condeig`: 计算特征值、特征向量同时给出条件数 * `condest`: 范 -1 条件数估计 * `det`: 行列式 * `diag`: 矩阵对角元素提取、创建对角阵 * `eig`: 求特征值和特征向量 * `eigs`: 求指定的...

Global site tag (gtag.js) - Google Analytics