zoukankan      html  css  js  c++  java
  • mongodb 聚合查询

    mongo shell 操作

    aggregate

    使用mongo db 的 aggregate 进行聚合操作,改操作传入的参数是一个数组

    aggregate 操作的参数

    1. match 相当于 mysql 的 where,传入的是筛选条件

    示例:

    {$match : {
        'os': 'win'  
      }
    }
    
    1. group 相当于 mysql 的 group by,传入的是要分组聚合的字段

    示例:

    {$group : {
       _id:"$name",
        count :{
         $sum:1
        }
      }
    }
    

    与 mysql 对比示例

    1. 分组查询count
    # mysql
    select name,count(*) from table group by name;
    
    # mongo shell
    db.collection.aggregate([{$group:{_id:'name',count:{$sum:1}}}])
    
    1. 先筛选后分组查询
    # mysql
    select name,count(*) from table where os='win'; group by name;
    
    # mongo shell
    db.collection.aggregate([{$match:{os:'win'}},{$group:{_id:'name',count:{$sum:1}}}])
    
    1. 先分组查询后筛选结果
    # mysql
    select name,count(*) from table group by name where os='win' ;
    
    # mongo shell
    db.collection.aggregate([{$group:{_id:'name',count:{$sum:1}}},{$match:{os:'win'}}])
    

    pymongo 操作

    待补充

  • 相关阅读:
    理解JAVA常量池
    java存储位置经典例子
    java通过句柄访问对象
    常用排序算法小结
    String,StringBuffer与StringBuilder的区别
    BGP
    BGP
    python编码问题实例
    从一段代码学习二叉树
    二叉树学习笔记--先序遍历
  • 原文地址:https://www.cnblogs.com/Jaryer/p/14647606.html
Copyright © 2011-2022 走看看