[英]mongodb - aggregation cursor count
我正在阅读API文档(并做了一些实验),但似乎cursor.count()
不再存在,所以我想知道是否有可能对您的总数进行计数。 这是因为我想知道总共有多少个文档,同时仍然限制和跳过结果。 我目前正在使用$ facet来简化此操作,但是不确定是否有更好的方法。
{
$facet:
{
"results":
[
{
"$skip":
start
},
{
"$limit":
finish
},
],
"total":
[
{
"$count":
"total"
},
]
}
}
对于样式和性能,在此用例中使用$facet
都很好。 但是,应该指出,尽管服务器端已进行了优化,但这实际上是一个查询中的两个查询。 无论$skip/$limit
设置如何,获取经过过滤的材料的完整计数(如果没有初始$match
则完全没有过滤器)需要时间。 如果$match
产生相对少量的材料,则$count
将很快。 所涉及的动态与常规SQL世界中的动态非常相似,例如,使用LIMIT / OFFSET运行查询并获得总行数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.