zoukankan      html  css  js  c++  java
  • [MongoDB]count,gourp,distinct

    摘要

    上篇文章介绍了CRUD的操作,会了这些,基本上可以完成很多工作了。但如果遇到统计类的操作,那么就需要学习下本篇的内容了。

    相关文章

    [MongoDB]入门操作

    [MongoDB]增删改查

    count,gourp,distinct,mapReduce

    count

    作用类似sql中的count函数,用来计数。

    如上图所示,列举了不带参数,带参数,以及先find后count的方式。

    distinct

    去重,接收字段参数,语义:按某字段去重。比如上图中,我们按name去重。

    group

    顾名思义是分组的意思,与sql中group by相同。但在mongodb中group就比较复杂了。

    参数:

    key:按照key进行分组。

    initial:每组都分享的“初始化函数”。可以在此处初始化一些变量,供每组进行使用。

    $reduce:该函数有两个参数,第一个参数是当前document对象,第二个参数是上次操作的累计对象。collection中有多少个document就会调用多少次$reduce。

    condition:过滤条件。

    finalize:该函数会在每组document执行完成后,就会调用该函数,可以在这个函数中,做一些后续的工作,比如进行计数操作,统计结果的个数。

    例子:根据age进行分组,查找每个年龄段的人员姓名。如图一所示:

    图一

     计数,分组后,符合条件的user有多少个。

    总结

    本篇文章介绍了常见的集合聚合操作。其中,group的操作比较麻烦一点。了解group的参数的作用,平时这些命令可以保存一个模板。用到的时候沾过去,在这个的基础上做修改比较方便点。因为实在太长了。

    参考

    http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html

  • 相关阅读:
    ***25 k个一组反转链表
    24 交换链表中相连的节点
    19 删除链表倒数第N个节点
    2 两数相加
    23 合并K个有序链表
    21 合并两个有序链表
    114 判断一个链表是否存在环并返回环起点
    141 链表是否存在环
    160 寻找链表交点
    92 指定区间链表逆置
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/5547107.html
Copyright © 2011-2022 走看看