1. mongoDB聚合函数介绍
mongoDB是一个文档型数据库,它使用聚合管道来对文档进行操作,聚合函数是聚合管道中的一种操作,可以对文档进行统计、分组、筛选、排序等操作。mongoDB中的聚合函数非常丰富,可以满足各种需求。
mongDB聚合函数常用有以下几种:
$match:用于筛选出符合条件的文档。
$group:用于对文档进行分组,可以求和、计数等操作。
$project:用于对文档进行投影操作,可以选择需要的字段。
$sort:用于对文档进行排序。
$limit:用于限制查询结果的数量。
$skip:用于跳过查询结果中的前几条数据。
2. mongoDB聚合函数使用实例
2.1. 用$match筛选出符合条件的文档
下面的例子将筛选出温度大于0.6的文档:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
}
]);
上面的代码使用了$gt操作符选择温度大于0.6的文档。
2.2. 用$group对文档进行分组操作
下面的例子将对温度大于0.6的文档进行分组操作,并计算每组的文档数量:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
},
{
$group: {
_id: "$city",
count: {$sum: 1}
}
}
]);
上面代码中,$group操作符可以对文档进行分组,_id表示以哪个字段为分组依据,$sum表示计数,1表示递增。
2.3. 用$project进行投影操作
下面的例子将对温度大于0.6的文档进行投影,只选择city和temperature字段:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
},
{
$project: {
_id: 0,
city: 1,
temperature: 1
}
}
]);
上面的代码中,$project操作符可以进行投影操作,0表示不显示该字段,1表示显示该字段。
2.4. 用$sort进行排序操作
下面的例子将对温度大于0.6的文档进行排序,按照temperature字段从大到小进行排序:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
},
{
$sort: {
temperature: -1
}
}
]);
上面的代码中,$sort操作符可以进行排序操作,-1表示降序排列,1表示升序排列。
2.5. 用$limit限制查询结果的数量
下面的例子将只返回前10条温度大于0.6的文档:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
},
{
$limit: 10
}
]);
上面的代码中,$limit操作符可以限制查询结果的数量。
2.6. 用$skip跳过查询结果中的前几条数据
下面的例子将跳过前10条温度大于0.6的文档,并返回从第11条开始的所有文档:
db.getCollection('temperature').aggregate([
{
$match: {
temperature: {$gt: 0.6}
}
},
{
$skip: 10
}
]);
上面的代码中,$skip操作符可以跳过查询结果中的前几条数据。
3. 总结
mongoDB中的聚合函数是一个强大的功能,可以对文档进行各种操作。本文介绍了mongoDB中一些常用的聚合函数及其使用方法,通过这些例子可以更好地了解mongoDB聚合函数的使用。