mongodb的聚合函数的$skip + $limit 方法运用 和 顺序优化。
来源:互联网 发布:linux开发板推荐 编辑:程序博客网 时间:2024/05/17 07:22
转自:http://docs.mongoing.com/manual-zh/core/aggregation-pipeline-optimization.html
$skip + $limit 顺序优化
如果你的管道中, $skip 后面跟着 $limit ,优化器会把 $limit 移到 $skip 前面,这个时候,$limit 的值会加上 $skip 的个数。
例如,如果管道由以下部分组成:
{ $skip: 10 },{ $limit: 5 }
During the optimization phase, the optimizer transforms the sequence to the following:
{ $limit: 15 },{ $skip: 10 }
对于类似 $sort + $limit 合并 ,例如 $sort + $skip + $limit ,优化器允许你做很多优化。详情请查看 $sort + $limit 合并 ,也可以在 $sort + $skip + $limit 顺序 中查看例子。
对于在 分片集合上的聚合 ,优化器可以减少从每个分片返回的文档个数。
1、db.memos.find({})
查询memos文档结果;
2、db.memos.aggregate({$skip:3})
跳过查询结果前三行;
3、db.memos.aggregate({$limit:3})
获取查询结果前三行;
1、db.memos.find({})如下:
{
"_id" : 1.0,
"name" : "sue",
"age" : 19.0,
"type" : 1.0,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17.0,
3.0
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85.0,
"bonus" : 20.0
},
{
"points" : 85.0,
"bonus" : 10.0
}
]
}
{
"_id" : 6.0,
"name" : "abc",
"age" : 43.0,
"type" : 1.0,
"status" : "A",
"favorites" : {
"food" : "pizza",
"artist" : "Picasso"
},
"finished" : [
18.0,
12.0
],
"badges" : [
"black",
"blue"
],
"points" : [
{
"points" : 78.0,
"bonus" : 8.0
},
{
"points" : 57.0,
"bonus" : 7.0
}
]
}
{
"_id" : 7.0,
"name" : "abc",
"age" : 43.0,
"type" : 1.0,
"status" : "A",
"favorites" : {
"food" : "pizza",
"artist" : "Picasso"
},
"finished" : [
21.0,
14.0
],
"badges" : [
"black",
"blue"
],
"points" : [
{
"points" : 78.0,
"bonus" : 8.0
},
{
"points" : 57.0,
"bonus" : 7.0
}
]
}
{
"_id" : 8.0,
"name" : "sue",
"age" : 49.0,
"type" : 1.0,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17.0,
3.0
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85.0,
"bonus" : 20.0
},
{
"points" : 85.0,
"bonus" : 10.0
}
]
}
{
"_id" : 9.0,
"name" : "sue",
"age" : 19.0,
"type" : 1.0,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17.0,
3.0
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85.0,
"bonus" : 20.0
},
{
"points" : 85.0,
"bonus" : 10.0
}
]
}
{
"_id" : 10.0,
"name" : "abc",
"age" : 43.0,
"type" : 1.0,
"status" : "A",
"favorites" : {
"food" : "pizza",
"artist" : "Picasso"
},
"finished" : [
18.0,
12.0
],
"badges" : [
"black",
"blue"
],
"points" : [
{
"points" : 78.0,
"bonus" : 8.0
},
{
"points" : 57.0,
"bonus" : 7.0
}
]
}
{
"_id" : 11.0,
"name" : "abc",
"age" : 43.0,
"type" : 1.0,
"status" : "A",
"favorites" : {
"food" : "pizza",
"artist" : "Picasso"
},
"finished" : [
21.0,
14.0
],
"badges" : [
"black",
"blue"
],
"points" : [
{
"points" : 78.0,
"bonus" : 8.0
},
{
"points" : 57.0,
"bonus" : 7.0
}
]
}
{
"_id" : 12.0,
"name" : "sue",
"age" : 49.0,
"type" : 1.0,
"status" : "P",
"favorites" : {
"artist" : "Picasso",
"food" : "pizza"
},
"finished" : [
17.0,
3.0
],
"badges" : [
"blue",
"black"
],
"points" : [
{
"points" : 85.0,
"bonus" : 20.0
},
{
"points" : 85.0,
"bonus" : 10.0
}
]
}
- mongodb的聚合函数的$skip + $limit 方法运用 和 顺序优化。
- mongodb的聚合函数的$sort 方法运用 和$sort + $match 顺序优化。
- MongoDB的skip,limit,sort执行顺序
- MongoDB的skip,limit,sort执行顺序---先sort,后skip再limit, 跟写的顺序无关
- mongodb的聚合函数的$project方法运用。
- mongodb的聚合函数的$group方法运用。
- mongodb的聚合函数的$redact方法运用。
- mongodb的聚合函数的$nor方法运用。
- MongoDB Limit与Skip方法
- MongoDB Limit与Skip方法
- MongoDB Limit与Skip方法
- 菜鸟的mongoDB学习---(五)MongoDB的limit、skip、sort方法
- mongodb的聚合函数aggregate的$match和$group方法。
- mongodb笔记04(MongoDB $type 操作符,Limit与Skip方法,sort()方法,索引,聚合(aggregate))
- mongodb sort limit和skip用法
- mongodb sort limit和skip用法
- MongoDB的聚合函数 Aggregate
- MongoDB的聚合函数 Aggregate
- Layout inflation is the term used within the context of Android to indicate when an XML layout resou
- CentOS设置系统回收站功能
- rhce学习第一天
- ci框架中删除url中的index.php(rul重写)
- Docker实战(十):Docker安装Nginx环境
- mongodb的聚合函数的$skip + $limit 方法运用 和 顺序优化。
- aspnet常用工具方法(一)
- logminer挖掘不同数据库的归档日志,使用redo log数据字典
- Andrew NG 《machine learning》week 4,class3 —Applications
- Maximum Product of Word Lengths
- 用 Java 实现断点续传 (HTTP)
- 以假乱真,MIT基于深度学习的新算法给视频配音
- YarnRpc例子-ResourceTracker协议分析
- Docker实战(十一):Docker安装ELK环境(二)