美文网首页
mongo聚合

mongo聚合

作者: forjie | 来源:发表于2019-05-24 18:38 被阅读0次

aggregate聚合

插入参数

{
   _id: ObjectId(7df78ad8902c)
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'runoob.com',
   url: 'http://www.runoob.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   _id: ObjectId(7df78ad8902d)
   title: 'NoSQL Overview', 
   description: 'No sql database is very fast',
   by_user: 'runoob.com',
   url: 'http://www.runoob.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 10
},
{
   _id: ObjectId(7df78ad8902e)
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j.com',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
}
  • 现在我们通过以上集合计算每个作者所写的文章数,使用aggregate()计算结果如下:
db.col.find([{"$group":{"_id":"$by_user","count":{"$sum":1}}}])
参数分析:
这句话的意思是按照by_user进行分组,并且计算同名by_user的个数
$group  进行分组
_id : 好像是固定参数,反正这边别动
_id后面$by_user  就是按照by_user进行分组
count 是后面算数据的别称
$sum就是同名称的总和,参数表示每次加多少

其他一些聚合的参数

  • 1,总和 sum
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
算出所有的值的总和:  likes所有数的总和
  • 2 平均数 avg
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
按找by_user进行分组,算出likes参数的平均数
  • 3 最小值 min
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
算出by_user的最小值
  • 4 在结果文档中插入值到一个数组中。 $push
就是在结果添加一条数据
db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])

相关文章

  • mongo聚合

    mongo聚合

  • mongo回顾(七:聚合查询)

    上一篇简单介绍了mongo的增删改查,今天来聊聊mongo的聚合操作 什么是 MongoDB 聚合框架 Mongo...

  • mongo聚合

    aggregate聚合 插入参数 现在我们通过以上集合计算每个作者所写的文章数,使用aggregate()计算结果...

  • mongo聚合框架

       聚合框架可以对集合中的文档进行变换和组合。基本上,可以用多个构件创建一个管道(pipeline),用于对一连...

  • mongo聚合操作

    每个用户的发帖量 对帖子的重新展示(forum_view)

  • mongo聚合(Aggregation)

    前言 首先,也是先上官方文档下面一张图来看pipeline,pipeline是基于数据处理的聚合管道 特例 突然发...

  • mongo聚合查询

    1.概述 MongoDB 聚合框架(Aggregation Framework)是一个计算框架,它可以:• 作用在...

  • mongo 聚合操作

    清空集合中的文档 数据准备 准备 users 表数据 在 users 里面准备一组数据,包含 item ,qty,...

  • Mongodb 的高级查询

    关键词:mongodb, mongo, project, group, aggregate, 聚合管道, 高级查询...

  • mongo聚合框架aggregate的使用

    mongo聚合框架aggregate使用 数据 db.emps.insert({"name":"张三","age"...

网友评论

      本文标题:mongo聚合

      本文链接:https://www.haomeiwen.com/subject/hmrnzqtx.html