在有限制的mongoDB聚合之后,我看到很多关于总计数的问题,但是他们是旧的,我需要更新。
我们的目标是在只有一个查询中对文档进行分页。
在这个聚合中,我们需要:
许多答案都表示我们在汇总限制后无法获得总计数,但在$sum
中使用$project
的新功能时,我不知道是否可以那样做?
[
{
'$match': {content: {'$regex': 'a string to search', '$options': 'i'}}
},
{
'$project': {
'article': '$$ROOT',
'blog': '$blog',
'views': '$views',
'created_at': '$created_at'
}
},
{ '$skip': 20 },
{ '$limit': 10 }
]
count : { $sum : 1 }
。 另一件事是如果我按null分组,我丢失了所有文件。
Mongo 3.2可以解决此问题吗?
- 修改
我在$match
(如$regexp
)中做了一些沉重的事情,我必须根据此匹配计算总结果。我使用$limit
而不是limit()
,否则我只需要count()
。即使它听起来像过度查询,我认为如果我只做一个查询,收益是真实的。有什么办法吗?至少我想尝试看看它的效率或多或少。