MongoDB 之聚合查询

聚合查询

MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似 SQL 语句中的 count(*)。

聚合的表达式:
在这里插入图片描述
测试一下

插入测试数据

{
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by_user: 'runoob.com',
   url: 'http://www.runoob.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
}


{
   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
}

{
   title: 'Neo4j Overview', 
   description: 'Neo4j is no sql database',
   by_user: 'Neo4j',
   url: 'http://www.neo4j.com',
   tags: ['neo4j', 'database', 'NoSQL'],
   likes: 750
}

在这里插入图片描述

aggregate() 方法

MongoDB中聚合的方法使用aggregate()。计算每个作者写的文章数

db.test.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])

$group:以id进行分组
num_tutorial :结果别名
sum :是否求和,1为真

在这里插入图片描述